On Mon, 17 Aug 2020 09:51:20 -0700 (PDT), in
gmane.comp.hardware.beagleboard.user Paul Beam
Are they the same brand (and even /production run/) SD cards?
A cheap Class 10 card when used with a journaling file system or with
many scattered small files can perform very badly compared to "slower"
Class 2/4/6 cards from the better brands.
Class 10 cards are rated for /streaming/ a single file on freshly
FAT(x) formatted card. IE: a single data stream (video) and empty card.
Class 2/4/6 are rated for small files on fragmented media (still photos
where some may have been deleted).
The higher end cards can keep multiple "allocation units" open in
parallel. Cheap cards may only be able to keep two AUs open at a time (on
FAT that's the FAT itself and one data file; on a journaling system one may
be continuously opening/closing AUs as one navigates inodes, data,
journal).
Copying from a message I wrote back in May, in a different group...
-=-=-=-=-
Well,
https://www.pidramble.com/wiki/benchmarks/microsd-cards would be
a start.
-=-=-=- 16 GB Kingston Class 10 in an R-Pi 3B+ (1.2GHz)
pi@rpi3bplus-1:~/benchmark$ sudo ./benchmark.sh
Raspberry Pi Dramble microSD benchmarks
microSD clock: 50.000 MHz
Running hdparm test...
/dev/mmcblk0:
HDIO_DRIVE_CMD(identify) failed: Invalid argument
Timing buffered disk reads: 66 MB in 3.02 seconds = 21.85 MB/sec
Running dd test...
51200+0 records in
51200+0 records out
419430400 bytes (419 MB, 400 MiB) copied, 54.3339 s, 7.7 MB/s
Running iozone test...
Iozone: Performance Test of File I/O
Version $Revision: 3.434 $
Compiled for 32 bit mode.
Build: linux-arm
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby
Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin
Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave
Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua
Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren
Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa,
Alexey Skidanov.
Run began: Tue May 19 13:38:19 2020
Include fsync in write timing
O_DIRECT feature enabled
Auto Mode
File size set to 102400 kB
Record Size 4 kB
Command line used: ./iozone -e -I -a -s 100M -r 4k -i 0 -i 1 -i 2
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random
bkwd record stride
kB reclen write rewrite read reread read write
read rewrite read fwrite frewrite fread freread
102400 4 264 242 5349 5803 5136 239
iozone test complete.
microSD card benchmark complete!
-=-=-=- 8 GB SanDisk Class 4 in a BeagleBone Black (1GHz)
debian@beaglebone:~/benchmark$ sudo ./benchmark.sh
[sudo] password for debian:
Raspberry Pi Dramble microSD benchmarks
Running hdparm test...
/dev/mmcblk0:
HDIO_DRIVE_CMD(identify) failed: Invalid argument
Timing buffered disk reads: 66 MB in 3.01 seconds = 21.89 MB/sec
Running dd test...
51200+0 records in
51200+0 records out
419430400 bytes (419 MB, 400 MiB) copied, 70.7736 s, 5.9 MB/s
Running iozone test...
Iozone: Performance Test of File I/O
Version $Revision: 3.434 $
Compiled for 32 bit mode.
Build: linux-arm
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby
Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin
Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave
Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua
Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren
Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa,
Alexey Skidanov.
Run began: Tue May 19 13:26:14 2020
Include fsync in write timing
O_DIRECT feature enabled
Auto Mode
File size set to 102400 kB
Record Size 4 kB
Command line used: ./iozone -e -I -a -s 100M -r 4k -i 0 -i 1 -i 2
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random
bkwd record stride
kB reclen write rewrite read reread read write
read rewrite read fwrite frewrite fread freread
102400 4 1192 1249 6587 6597 6541 635
iozone test complete.
microSD card benchmark complete!
debian@beaglebone:~/benchmark$
-=-=-=-
The BBB with a Class 4 card took 7 minutes for iozone... I'm still
waiting for the R-Pi Class 10 after over 10 minutes. Heck -- I killed that
run and restarted, just in case my moving PuTTY windows around somehow
froze the output.
... Finally finished, it took 22 minutes for iozone!
Things to note:
* HDPARM speeds are very close, the R-Pi at 21.85 MB/s, the "slower" BBB
at 21.89 MB/s
* DD test, R-Pi at 7.7 MB/s, BBB at 5.9 MB/s
* But iozone shows extreme differences!
Random Random
Write Rewrite Read Reread Read Write
R-Pi: 102400 4 264 242 5349 5803 5136 239
BBB: 102400 4 1192 1249 6587 6597 6541 635
Speed multiple 4.5X 5.2X 1.2X 1.1X 1.3X 2.7X
The high-grade "slow" Class 4 SanDisk, in a slower computer,
outperforms the low-bidder "faster" Class 10 Kingston in the faster
computer. The Kingston appears to be killed by the swapping between data
and journal metadata, and later commit of the journal.
-=-=-=-=-
--
Dennis L Bieber