luni
Well-known member
I did a quick Win10 app to test the serial communication speed of a T4.0 and a T3.6 under somehow real life conditions. The app continuously downloads a block of 25kB to the Teensy. The teensy copies the received data to a buffer and calculates and checks a simple checksum. The download speed is measured by calculating the ratio of the download size and the overall download time including all sending/receiving, buffer copying and checksum calculation overhead.
Here the pretty amazing results:
I didn't observe any checksum error during about 30GB download volume.
The Win10 app (C#) only uses standard serial sending routines
Looks like the download rate is limited by the Teensy receiving code. Using single byte reads instead of copying the whole block of available data with readBytes() significantly reduces the speed.
Source code and precompiled binaries are available on GitHub https://github.com/luni64/SerialTester
Here the pretty amazing results:
Code:
T3.6 (TD 1.48): 0.8 MByte/sec
T4.0 (TD 1.48): 3.0 MByte/sec
T4.0 (Current Core) 13.5 MByte/sec
I didn't observe any checksum error during about 30GB download volume.
The Win10 app (C#) only uses standard serial sending routines
Looks like the download rate is limited by the Teensy receiving code. Using single byte reads instead of copying the whole block of available data with readBytes() significantly reduces the speed.
Source code and precompiled binaries are available on GitHub https://github.com/luni64/SerialTester
Last edited: