One of the things I was eager to try was a benchmark tool for MicroSD i read about on a few forums.
It is included in the SdFat library two times, the first is benchSD.ino and this uses default libraries, the second is bench.ino which makes use of the new SdFat library itself.
Download the SdFat file here, and extract the SdFat folder to your \arduino-1.0.x\libraries
(re)start your Teensyduino and load the benchSD.ino.
Since the first example takes a while, it is wise to shrink the size of the testfile to 0.2 (200KB)
Upload the example and start the Serial Monitor
benchSD.ino
Code:
Type any character to start
File size 0.20MB
Buffer size 100 bytes
Starting write test. Please wait up to a minute
Write 12.68 KB/sec
Maximum latency: 147815 usec, Minimum Latency: 17 usec, Avg Latency: 7830 usec
Starting read test. Please wait up to a minute
Read 14.35 KB/sec
Maximum latency: 69960 usec, Minimum Latency: 18 usec, Avg Latency: 6965 usec
Done
Type any character to start
-----------------------------------------------
Type any character to start
File size 0.20MB
Buffer size 500 bytes
Starting write test. Please wait up to a minute
Write 12.65 KB/sec
Maximum latency: 147922 usec, Minimum Latency: 59 usec, Avg Latency: 39236 usec
Starting read test. Please wait up to a minute
Read 14.37 KB/sec
Maximum latency: 69947 usec, Minimum Latency: 68 usec, Avg Latency: 34802 usec
Done
Type any character to start
-----------------------------------------------
Type any character to start
File size 0.20MB
Buffer size 1000 bytes
Starting write test. Please wait up to a minute
Write 12.68 KB/sec
Maximum latency: 207257 usec, Minimum Latency: 37806 usec, Avg Latency: 78297 usec
Starting read test. Please wait up to a minute
Read 14.38 KB/sec
Maximum latency: 105011 usec, Minimum Latency: 35003 usec, Avg Latency: 69536 usec
Done
Type any character to start
read 14KB/s, write 12KB/s, with a 200KB testfile and buffersize 100/500/100
Now lets make use of the new and improved SdFat library
bench.ino:
Code:
Type any character to start
Free RAM: 10691
Type is FAT32
File size 5MB
Buffer size 100 bytes
Starting write test. Please wait up to a minute
Write 147.78 KB/sec
Maximum latency: 174475 usec, Minimum Latency: 10 usec, Avg Latency: 675 usec
Starting read test. Please wait up to a minute
Read 517.01 KB/sec
Maximum latency: 1834 usec, Minimum Latency: 9 usec, Avg Latency: 191 usec
Done
Type any character to start
-----------------------------------------------
Type any character to start
Free RAM: 10291
Type is FAT32
File size 5MB
Buffer size 500 bytes
Starting write test. Please wait up to a minute
Write 150.13 KB/sec
Maximum latency: 161796 usec, Minimum Latency: 19 usec, Avg Latency: 3328 usec
Starting read test. Please wait up to a minute
Read 534.76 KB/sec
Maximum latency: 1820 usec, Minimum Latency: 19 usec, Avg Latency: 933 usec
Done
Type any character to start
-----------------------------------------------
Type any character to start
Free RAM: 9791
Type is FAT32
File size 5MB
Buffer size 1000 bytes
Starting write test. Please wait up to a minute
Write 150.74 KB/sec
Maximum latency: 323792 usec, Minimum Latency: 1841 usec, Avg Latency: 6630 usec
Starting read test. Please wait up to a minute
Read 542.77 KB/sec
Maximum latency: 2872 usec, Minimum Latency: 794 usec, Avg Latency: 1840 usec
Done
Type any character to start
read 150 KB/s, write 530 KB/s, with a 5MB testfile and buffersize 100/500/100
Extra info: I ran these tests at 48MHz CPU speed