使用 https://github.com/Purestreams/mbw
使用方法 测试128MB内存读写速度:
git clone https://github.com/Purestreams/mbw
cd mbw/
make
./mbw 128
Orange Pi R1 Plus
orangepi-r1plus:~/mbw$ ./mbw 128
Long uses 8 bytes. Allocating 2*16777216 elements = 268435456 bytes of memory.
Using 262144 bytes as blocks for memcpy block copy test.
Getting down to business... Doing 10 runs per test.
0 Method: MEMCPY Elapsed: 0.07934 MiB: 128.00000 Copy: 1613.391 MiB/s
1 Method: MEMCPY Elapsed: 0.07537 MiB: 128.00000 Copy: 1698.288 MiB/s
2 Method: MEMCPY Elapsed: 0.07549 MiB: 128.00000 Copy: 1695.566 MiB/s
3 Method: MEMCPY Elapsed: 0.07480 MiB: 128.00000 Copy: 1711.161 MiB/s
4 Method: MEMCPY Elapsed: 0.07452 MiB: 128.00000 Copy: 1717.706 MiB/s
5 Method: MEMCPY Elapsed: 0.07451 MiB: 128.00000 Copy: 1717.775 MiB/s
6 Method: MEMCPY Elapsed: 0.07495 MiB: 128.00000 Copy: 1707.782 MiB/s
7 Method: MEMCPY Elapsed: 0.07823 MiB: 128.00000 Copy: 1636.285 MiB/s
8 Method: MEMCPY Elapsed: 0.09552 MiB: 128.00000 Copy: 1339.991 MiB/s
9 Method: MEMCPY Elapsed: 0.08727 MiB: 128.00000 Copy: 1466.746 MiB/s
AVG Method: MEMCPY Elapsed: 0.07900 MiB: 128.00000 Copy: 1620.251 MiB/s
0 Method: DUMB Elapsed: 0.29374 MiB: 128.00000 Copy: 435.757 MiB/s
1 Method: DUMB Elapsed: 0.29335 MiB: 128.00000 Copy: 436.333 MiB/s
2 Method: DUMB Elapsed: 0.29331 MiB: 128.00000 Copy: 436.394 MiB/s
3 Method: DUMB Elapsed: 0.29524 MiB: 128.00000 Copy: 433.538 MiB/s
4 Method: DUMB Elapsed: 0.29311 MiB: 128.00000 Copy: 436.690 MiB/s
5 Method: DUMB Elapsed: 0.29306 MiB: 128.00000 Copy: 436.775 MiB/s
6 Method: DUMB Elapsed: 0.29392 MiB: 128.00000 Copy: 435.488 MiB/s
7 Method: DUMB Elapsed: 0.29624 MiB: 128.00000 Copy: 432.081 MiB/s
8 Method: DUMB Elapsed: 0.29445 MiB: 128.00000 Copy: 434.710 MiB/s
9 Method: DUMB Elapsed: 0.29363 MiB: 128.00000 Copy: 435.921 MiB/s
AVG Method: DUMB Elapsed: 0.29401 MiB: 128.00000 Copy: 435.364 MiB/s
0 Method: MCBLOCK Elapsed: 0.07447 MiB: 128.00000 Copy: 1718.882 MiB/s
1 Method: MCBLOCK Elapsed: 0.07756 MiB: 128.00000 Copy: 1650.293 MiB/s
2 Method: MCBLOCK Elapsed: 0.08513 MiB: 128.00000 Copy: 1503.600 MiB/s
3 Method: MCBLOCK Elapsed: 0.07819 MiB: 128.00000 Copy: 1637.017 MiB/s
4 Method: MCBLOCK Elapsed: 0.07527 MiB: 128.00000 Copy: 1700.432 MiB/s
5 Method: MCBLOCK Elapsed: 0.07445 MiB: 128.00000 Copy: 1719.367 MiB/s
6 Method: MCBLOCK Elapsed: 0.07533 MiB: 128.00000 Copy: 1699.100 MiB/s
7 Method: MCBLOCK Elapsed: 0.07480 MiB: 128.00000 Copy: 1711.253 MiB/s
8 Method: MCBLOCK Elapsed: 0.07501 MiB: 128.00000 Copy: 1706.553 MiB/s
9 Method: MCBLOCK Elapsed: 0.07518 MiB: 128.00000 Copy: 1702.694 MiB/s
AVG Method: MCBLOCK Elapsed: 0.07654 MiB: 128.00000 Copy: 1672.365 MiB/s
Intel I3-N305 with DDR4 4800MHZ
0 Method: MEMCPY Elapsed: 0.01006 MiB: 128.00000 Copy: 12724.923 MiB/s
1 Method: MEMCPY Elapsed: 0.01039 MiB: 128.00000 Copy: 12314.797 MiB/s
2 Method: MEMCPY Elapsed: 0.01014 MiB: 128.00000 Copy: 12628.256 MiB/s
3 Method: MEMCPY Elapsed: 0.01012 MiB: 128.00000 Copy: 12654.474 MiB/s
4 Method: MEMCPY Elapsed: 0.01037 MiB: 128.00000 Copy: 12346.870 MiB/s
5 Method: MEMCPY Elapsed: 0.01028 MiB: 128.00000 Copy: 12447.729 MiB/s
6 Method: MEMCPY Elapsed: 0.01000 MiB: 128.00000 Copy: 12805.122 MiB/s
7 Method: MEMCPY Elapsed: 0.01048 MiB: 128.00000 Copy: 12218.404 MiB/s
8 Method: MEMCPY Elapsed: 0.01045 MiB: 128.00000 Copy: 12251.149 MiB/s
9 Method: MEMCPY Elapsed: 0.01023 MiB: 128.00000 Copy: 12515.889 MiB/s
AVG Method: MEMCPY Elapsed: 0.01025 MiB: 128.00000 Copy: 12487.683 MiB/s
0 Method: DUMB Elapsed: 0.02266 MiB: 128.00000 Copy: 5648.720 MiB/s
1 Method: DUMB Elapsed: 0.02252 MiB: 128.00000 Copy: 5684.341 MiB/s
2 Method: DUMB Elapsed: 0.02268 MiB: 128.00000 Copy: 5644.983 MiB/s
3 Method: DUMB Elapsed: 0.02287 MiB: 128.00000 Copy: 5595.873 MiB/s
4 Method: DUMB Elapsed: 0.02270 MiB: 128.00000 Copy: 5639.015 MiB/s
5 Method: DUMB Elapsed: 0.02267 MiB: 128.00000 Copy: 5645.232 MiB/s
6 Method: DUMB Elapsed: 0.02234 MiB: 128.00000 Copy: 5730.659 MiB/s
7 Method: DUMB Elapsed: 0.02232 MiB: 128.00000 Copy: 5735.538 MiB/s
8 Method: DUMB Elapsed: 0.02285 MiB: 128.00000 Copy: 5602.241 MiB/s
9 Method: DUMB Elapsed: 0.02244 MiB: 128.00000 Copy: 5705.371 MiB/s
AVG Method: DUMB Elapsed: 0.02260 MiB: 128.00000 Copy: 5662.815 MiB/s
0 Method: MCBLOCK Elapsed: 0.01423 MiB: 128.00000 Copy: 8994.449 MiB/s
1 Method: MCBLOCK Elapsed: 0.01427 MiB: 128.00000 Copy: 8972.382 MiB/s
2 Method: MCBLOCK Elapsed: 0.01488 MiB: 128.00000 Copy: 8599.839 MiB/s
3 Method: MCBLOCK Elapsed: 0.01440 MiB: 128.00000 Copy: 8887.037 MiB/s
4 Method: MCBLOCK Elapsed: 0.01410 MiB: 128.00000 Copy: 9077.370 MiB/s
5 Method: MCBLOCK Elapsed: 0.01398 MiB: 128.00000 Copy: 9156.592 MiB/s
6 Method: MCBLOCK Elapsed: 0.01402 MiB: 128.00000 Copy: 9127.210 MiB/s
7 Method: MCBLOCK Elapsed: 0.01398 MiB: 128.00000 Copy: 9157.902 MiB/s
8 Method: MCBLOCK Elapsed: 0.01410 MiB: 128.00000 Copy: 9074.796 MiB/s
9 Method: MCBLOCK Elapsed: 0.01431 MiB: 128.00000 Copy: 8943.544 MiB/s
AVG Method: MCBLOCK Elapsed: 0.01423 MiB: 128.00000 Copy: 8996.219 MiB/s
Apple Macbook M1pro
mbw % ./mbw 128
Long uses 8 bytes. Allocating 2*16777216 elements = 268435456 bytes of memory.
Using 262144 bytes as blocks for memcpy block copy test.
Getting down to business... Doing 10 runs per test.
0 Method: MEMCPY Elapsed: 0.02346 MiB: 128.00000 Copy: 5456.561 MiB/s
1 Method: MEMCPY Elapsed: 0.00357 MiB: 128.00000 Copy: 35904.628 MiB/s
2 Method: MEMCPY Elapsed: 0.00338 MiB: 128.00000 Copy: 37892.244 MiB/s
3 Method: MEMCPY Elapsed: 0.00299 MiB: 128.00000 Copy: 42809.365 MiB/s
4 Method: MEMCPY Elapsed: 0.00311 MiB: 128.00000 Copy: 41197.296 MiB/s
5 Method: MEMCPY Elapsed: 0.00342 MiB: 128.00000 Copy: 37437.847 MiB/s
6 Method: MEMCPY Elapsed: 0.00298 MiB: 128.00000 Copy: 42924.212 MiB/s
7 Method: MEMCPY Elapsed: 0.00294 MiB: 128.00000 Copy: 43596.730 MiB/s
8 Method: MEMCPY Elapsed: 0.00321 MiB: 128.00000 Copy: 39875.389 MiB/s
9 Method: MEMCPY Elapsed: 0.00326 MiB: 128.00000 Copy: 39299.969 MiB/s
AVG Method: MEMCPY Elapsed: 0.00523 MiB: 128.00000 Copy: 24473.252 MiB/s
0 Method: DUMB Elapsed: 0.01818 MiB: 128.00000 Copy: 7040.704 MiB/s
1 Method: DUMB Elapsed: 0.02695 MiB: 128.00000 Copy: 4749.712 MiB/s
2 Method: DUMB Elapsed: 0.02165 MiB: 128.00000 Copy: 5912.786 MiB/s
3 Method: DUMB Elapsed: 0.01852 MiB: 128.00000 Copy: 6909.582 MiB/s
4 Method: DUMB Elapsed: 0.02537 MiB: 128.00000 Copy: 5045.727 MiB/s
5 Method: DUMB Elapsed: 0.02306 MiB: 128.00000 Copy: 5550.256 MiB/s
6 Method: DUMB Elapsed: 0.02613 MiB: 128.00000 Copy: 4898.584 MiB/s
7 Method: DUMB Elapsed: 0.02736 MiB: 128.00000 Copy: 4679.047 MiB/s
8 Method: DUMB Elapsed: 0.02467 MiB: 128.00000 Copy: 5188.698 MiB/s
9 Method: DUMB Elapsed: 0.02087 MiB: 128.00000 Copy: 6132.324 MiB/s
AVG Method: DUMB Elapsed: 0.02328 MiB: 128.00000 Copy: 5499.227 MiB/s
0 Method: MCBLOCK Elapsed: 0.00313 MiB: 128.00000 Copy: 40960.000 MiB/s
1 Method: MCBLOCK Elapsed: 0.00296 MiB: 128.00000 Copy: 43287.115 MiB/s
2 Method: MCBLOCK Elapsed: 0.00295 MiB: 128.00000 Copy: 43463.497 MiB/s
3 Method: MCBLOCK Elapsed: 0.00307 MiB: 128.00000 Copy: 41734.594 MiB/s
4 Method: MCBLOCK Elapsed: 0.00298 MiB: 128.00000 Copy: 42924.212 MiB/s
5 Method: MCBLOCK Elapsed: 0.00313 MiB: 128.00000 Copy: 40933.802 MiB/s
6 Method: MCBLOCK Elapsed: 0.00344 MiB: 128.00000 Copy: 37220.122 MiB/s
7 Method: MCBLOCK Elapsed: 0.00298 MiB: 128.00000 Copy: 42895.442 MiB/s
8 Method: MCBLOCK Elapsed: 0.00300 MiB: 128.00000 Copy: 42709.376 MiB/s
9 Method: MCBLOCK Elapsed: 0.00299 MiB: 128.00000 Copy: 42737.896 MiB/s
AVG Method: MCBLOCK Elapsed: 0.00306 MiB: 128.00000 Copy: 41805.474 MiB/s