Right I got my 1.2b 32Gb board today and have been running some iozone benchmarks. They are quite interesting IMHO! The full results are at the end of this post, in the course of this post I will highlight selected extracts.
I have posted the results (always kBytes/sec) for 4 different "disks" and will always quote them in the following order:
Evo+ - a 32Gb Samsung SDcard I have and that was used to boot Mobian (circa 20201115) for all the tests
v1.1 - my 16Gb eMMC BraveHeart
v1.2a - my 16Gb eMMC Community Edition
v1.2b - my 32Gb eMMC Community Edition
(11-17-2020, 04:37 AM)bcnaz Wrote: ...
85-88 MiB/s for the 16gb eMMC
65 MiB/s for the 32gb eMMC
and 23 MiB/s read speed for the sd card.
OK - if I may be so bold as to surmise @
megous reason for his report, he is concerned (in this instance) with the load time of an OS image using p-boot. So the maximum sequential read speed of a large file is relevant, and the numbers I got for 8M sequential reads are
22858, 81270, 82412, 73194
Which is pretty damn close to what @
megous reported for SDcard and both 16Gb mobos. My 32Gb wasn't quite as poor as expected. As per my previous post my 1.1 BraveHeart eMMC is definitely Kimtigo. I was unable to read the chip details on my 1.2b board as it is covered by thermal tape that separated when I tried to lift it so I got cold feet, but would be pretty sure my 1.2b eMMC is NOT Kimtigo as their 32Gb eMMC should perform at least as well as their 16Gb according to the datasheet.
(11-14-2020, 11:32 PM)bcnaz Wrote: ...
1) Will this give noticeable difference to performance in normal phone use ?
is the eMMC speed listed the maximum for that device
or a product of its interaction with the phone hardware.?
...
Aah - the $1m question! As always "it depends"!!!
In general the folklore I believe says that the small file random speed of the disk is what is closest aligned to the user experience for a linux root file system. So in my results the 4k random read speeds are
5848, 7459, 8229, 6796
and the 4k random write speeds are
2804, 3310, 12499, 7705
Again the 1.2b 32Gb eMMC is slower than the 1.2a 16Gb eMMC. But the 1.1 16Gb eMMC is closer to the SDcard speed, especially for writes!
Clearly the v1.1 16Gb eMMC performance is radically different to the v1.2a 16Gb eMMC and I am not sure why. AFAIK there is nothing in the wiki mobo deltas that should cause this in terms of hardware. Far more likely the OS device tree for the BraveHeart is being much more gentle?
While the 1.2a 16Gb seems to be "king", it does have a bizarre result for 8M sequential write speed, that is significantly worse than its performance for 512k sequential writes. 512k sequential write speeds are
21238, 20202, 55618, 59405
and 8m sequential write speeds
21550, 14631, 12125, 64409
The v1.1 16Gb also displays this same behaviour so it is not a freak result - there seems to be some issue with the 16Gb chips! I suspect it is something to do with the eMMC controller or buffers: the datasheet does not identify any differences (I can see) between the 16Gb and 32Gb in these areas so in theory it is down to the NAND type (which I doubt)! So for this use case the 1.2b 32Gb eMMC is "king". Hell, even the SDcard does better! Note the 32Gb also hammers the 16Gb for 512k and 8M random writes - if I could think of a use-case that this is relevant for then for sure the 32Gb would be first choice
For sure the 4k sequential I/O highlights that eMMC is preferable to even a fast/good SDcard (the Evo+ is the best card I have tested for 4k I/O) if that is what will affect your SBC/linux experience (other than OS boot/load times
)
To answer the second part of your question - according to the Kimtigo datasheet the results I have from iozone are reasonably below the capabilities of their chips. This is pretty much understandable as we have the Allwinner IO architecture and timing in the mix, let alone "firmware" settings in the device tree.
If you got this far I thank you for reading my ramblings!
Evo+ (32Gb)
Code:
$ sudo iozone -e -I -s 100m -r 4k -r 16k -r 512k -r 8m -i 0 -i 1 -i 2
Iozone: Performance Test of File I/O
Version $Revision: 3.489 $
Compiled for 64 bit mode.
Build: linux
...
random random
kB reclen write rewrite read reread read write
102400 4 1960 2640 6172 5911 5848 2804
102400 16 7558 8870 11241 11603 11762 10002
102400 512 21238 21195 22916 22935 22930 21266
102400 8192 21550 21546 22858 23028 22890 21530
iozone test complete.
v1.1 (16Gb)
Code:
$ sudo iozone -e -I -s 100m -r 4k -r 16k -r 512k -r 8m -i 0 -i 1 -i 2
Iozone: Performance Test of File I/O
Version $Revision: 3.489 $
Compiled for 64 bit mode.
Build: linux
...
random random
kB reclen write rewrite read reread read write
102400 4 2165 2311 8243 8305 7459 3310
102400 16 5354 5976 23656 23246 23115 5027
102400 512 20202 14158 77561 77940 77202 16872
102400 8192 14631 21527 81270 81283 81430 14420
iozone test complete.
v1.2a (16Gb)
Code:
$ sudo iozone -e -I -s 100m -r 4k -r 16k -r 512k -r 8m -i 0 -i 1 -i 2
Iozone: Performance Test of File I/O
Version $Revision: 3.489 $
Compiled for 64 bit mode.
Build: linux
...
random random
kB reclen write rewrite read reread read write
102400 4 11621 13706 9959 10084 8229 12499
102400 16 25352 26295 28018 28246 24565 25365
102400 512 55618 35053 79352 79441 78907 29963
102400 8192 12125 18412 82412 82490 81646 14353
iozone test complete.
v1.2b (32Gb)
Code:
$ sudo iozone -e -I -s 100m -r 4k -r 16k -r 512k -r 8m -i 0 -i 1 -i 2
Iozone: Performance Test of File I/O
Version $Revision: 3.489 $
Compiled for 64 bit mode.
Build: linux
...
random random
kB reclen write rewrite read reread read write
102400 4 7688 9257 6881 6789 6796 7705
102400 16 21450 23991 14318 14063 13714 22710
102400 512 59405 61647 53064 52832 54664 61371
102400 8192 64409 65939 73194 66235 66408 66017
iozone test complete.