Blender reads serial data slowly?
Serial communication uses start and stop (1,1.5 or 2 bit length) and optionally a parity bit.
Assuming it would be 10 bits 9600 bits/s would transfer 960 bytes in a second.

You're reading the data byte by byte.

If you have messages with variable length it would be better to transfer a header containing the size of your message and read this first.

e.g.

&lt;Header&gt;     &lt;message&gt;
0x0000 0100  256 bytes of data


then you could read first the header (size=4) followed by reading the message at once. 

To make the protocol more robust you could introduce a checksum (in the header) and an end-of-message marker which is not contained in the data (or escaped there), this would allow you to recover from transmission errors and re-synchronize.