Jump to content

armv8 boards comparison and benchmarks


eli

Recommended Posts

Hello all,

iv'e made some sysbench tests on Pine64, Orange Pi PC2 and Raspberry Pi 3.

all three boards are running on aarch64 based OS, for the Pine64 I used Armbian Ubuntu Xenial Server, for the Orange Pi PC2 I used the latest ubuntu image provided by Xunlong and for the Raspberry Pi 3 I used fedora 24 image provided by kraxel

 

the boards:

http://s.pictub.club/2016/12/23/sDJQCq.jpg

 

Raspberry Pi 3:

 

 

 
[eli@fedora-rpi2 ~]$ uname -a 
Linux fedora-rpi2 4.9.0-1-main #1 SMP PREEMPT Mon Dec 12 09:14:22 UTC 2016 aarch64 aarch64 aarch64 GNU/Linux
[eli@fedora-rpi2 ~]$ for each in 1 2 4; do sysbench --test=cpu --cpu-max-prime=20000 --num-threads=$each run; done
sysbench 0.4.12:  multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 1
 
Doing CPU performance benchmark
 
Threads started!
WARNING: Operation time (18446744073215141888.000000) is greater than maximal counted value, counting as 10000000000000.000000
WARNING: Percentile statistics will be inaccurate
Done.
 
Maximum prime number checked in CPU test: 20000
 
 
Test execution summary:
    total time:                          60.6489s
    total number of events:              10000
    total time taken by event execution: 60.6428
    per-request statistics:
         min:                                  6.03ms
         avg:                                  6.06ms
         max:                            18446744073215.31ms
         approx.  95 percentile:               6.05ms
 
Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   60.6428/0.00
 
sysbench 0.4.12:  multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 2
 
Doing CPU performance benchmark
 
Threads started!
Done.
 
Maximum prime number checked in CPU test: 20000
 
 
Test execution summary:
    total time:                          29.9795s
    total number of events:              10000
    total time taken by event execution: 59.9449
    per-request statistics:
         min:                                  5.84ms
         avg:                                  5.99ms
         max:                                  6.21ms
         approx.  95 percentile:               6.04ms
 
Threads fairness:
    events (avg/stddev):           5000.0000/0.00
    execution time (avg/stddev):   29.9724/0.00
 
sysbench 0.4.12:  multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 4
 
Doing CPU performance benchmark
 
Threads started!
WARNING: Operation time (18446744073214261248.000000) is greater than maximal counted value, counting as 10000000000000.000000
WARNING: Percentile statistics will be inaccurate
Done.
 
Maximum prime number checked in CPU test: 20000
 
 
Test execution summary:
    total time:                          16.1915s
    total number of events:              10000
    total time taken by event execution: 64.7387
    per-request statistics:
         min:                                  6.02ms
         avg:                                  6.47ms
         max:                            18446744073219.71ms
         approx.  95 percentile:               6.83ms
 
Threads fairness:
    events (avg/stddev):           2500.0000/105.87
    execution time (avg/stddev):   16.1847/0.00
 
[eli@fedora-rpi2 ~]$ sysbench --test=memory --memory-block-size=1K --memory-scope=global --memory-total-size=10G --memory-oper=read run
sysbench 0.4.12:  multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 1
 
Doing memory operations speed test
Memory block size: 1K
 
Memory transfer size: 10240M
 
Memory operations type: read
Memory scope type: global
Threads started!
Done.
 
Operations performed: 10485760 (531318.94 ops/sec)
 
10240.00 MB transferred (518.87 MB/sec)
 
 
Test execution summary:
    total time:                          19.7353s
    total number of events:              10485760
    total time taken by event execution: 13.8417
    per-request statistics:
         min:                                  0.00ms
         avg:                                  0.00ms
         max:                                  0.07ms
         approx.  95 percentile:               0.00ms
 
Threads fairness:
    events (avg/stddev):           10485760.0000/0.00
    execution time (avg/stddev):   13.8417/0.00
 
[eli@fedora-rpi2 ~]$ sysbench --test=memory --memory-block-size=1K --memory-scope=global --memory-total-size=10G --memory-oper=write run
sysbench 0.4.12:  multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 1
 
Doing memory operations speed test
Memory block size: 1K
 
Memory transfer size: 10240M
 
Memory operations type: write
Memory scope type: global
Threads started!
Done.
 
Operations performed: 10485760 (364193.47 ops/sec)
 
10240.00 MB transferred (355.66 MB/sec)
 
 
Test execution summary:
    total time:                          28.7917s
    total number of events:              10485760
    total time taken by event execution: 22.9432
    per-request statistics:
         min:                                  0.00ms
         avg:                                  0.00ms
         max:                                  0.18ms
         approx.  95 percentile:               0.00ms
 
Threads fairness:
    events (avg/stddev):           10485760.0000/0.00
    execution time (avg/stddev):   22.9432/0.00
 

 

 

 

Orange Pi PC2:

 

 

 
eli@Orangepi:~$ uname -a
Linux Orangepi 3.10.65 #55 SMP PREEMPT Fri Nov 18 16:17:28 CST 2016 aarch64 aarch64 aarch64 GNU/Linux
eli@Orangepi:~$ for each in 1 2 4; do sysbench --test=cpu --cpu-max-prime=20000 --num-threads=$each run; done
sysbench 0.4.12:  multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 1
 
Doing CPU performance benchmark
 
Threads started!
Done.
 
Maximum prime number checked in CPU test: 20000
 
 
Test execution summary:
    total time:                          36.7932s
    total number of events:              10000
    total time taken by event execution: 36.7893
    per-request statistics:
         min:                                  3.62ms
         avg:                                  3.68ms
         max:                                505.97ms
         approx.  95 percentile:               3.64ms
 
Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   36.7893/0.00
 
sysbench 0.4.12:  multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 2
 
Doing CPU performance benchmark
 
Threads started!
Done.
 
Maximum prime number checked in CPU test: 20000
 
 
Test execution summary:
    total time:                          17.9530s
    total number of events:              10000
    total time taken by event execution: 35.8999
    per-request statistics:
         min:                                  3.51ms
         avg:                                  3.59ms
         max:                                  4.20ms
         approx.  95 percentile:               3.64ms
 
Threads fairness:
    events (avg/stddev):           5000.0000/0.00
    execution time (avg/stddev):   17.9500/0.00
 
sysbench 0.4.12:  multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 4
 
Doing CPU performance benchmark
 
Threads started!
Done.
 
Maximum prime number checked in CPU test: 20000
 
 
Test execution summary:
    total time:                          9.0700s
    total number of events:              10000
    total time taken by event execution: 36.2609
    per-request statistics:
         min:                                  3.60ms
         avg:                                  3.63ms
         max:                                 13.77ms
         approx.  95 percentile:               3.64ms
 
Threads fairness:
    events (avg/stddev):           2500.0000/3.54
    execution time (avg/stddev):   9.0652/0.00
 
eli@Orangepi:~$ sysbench --test=memory --memory-block-size=1K --memory-scope=global --memory-total-size=10G --memory-oper=read run
sysbench 0.4.12:  multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 1
 
Doing memory operations speed test
Memory block size: 1K
 
Memory transfer size: 10240M
 
Memory operations type: read
Memory scope type: global
Threads started!
Done.
 
Operations performed: 10485760 (922210.22 ops/sec)
 
10240.00 MB transferred (900.60 MB/sec)
 
 
Test execution summary:
    total time:                          11.3702s
    total number of events:              10485760
    total time taken by event execution: 8.0777
    per-request statistics:
         min:                                  0.00ms
         avg:                                  0.00ms
         max:                                  0.39ms
         approx.  95 percentile:               0.00ms
 
Threads fairness:
    events (avg/stddev):           10485760.0000/0.00
    execution time (avg/stddev):   8.0777/0.00
 
eli@Orangepi:~$ sysbench --test=memory --memory-block-size=1K --memory-scope=global --memory-total-size=10G --memory-oper=write run
sysbench 0.4.12:  multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 1
 
Doing memory operations speed test
Memory block size: 1K
 
Memory transfer size: 10240M
 
Memory operations type: write
Memory scope type: global
Threads started!
Done.
 
Operations performed: 10485760 (617633.57 ops/sec)
 
10240.00 MB transferred (603.16 MB/sec)
 
 
Test execution summary:
    total time:                          16.9773s
    total number of events:              10485760
    total time taken by event execution: 13.6888
    per-request statistics:
         min:                                  0.00ms
         avg:                                  0.00ms
         max:                                  0.32ms
         approx.  95 percentile:               0.00ms
 
Threads fairness:
    events (avg/stddev):           10485760.0000/0.00
    execution time (avg/stddev):   13.6888/0.00
 
 

 

 

 

Pine64:

 

 

 
eli@pine64:~$ uname -a
Linux pine64 3.10.102-pine64 #6 SMP PREEMPT Thu Sep 15 09:11:23 CEST 2016 aarch64 aarch64 aarch64 GNU/Linux
eli@pine64:~$ for each in 1 2 4; do sysbench --test=cpu --cpu-max-prime=20000 --num-threads=$each run; done
sysbench 0.4.12:  multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 1
 
Doing CPU performance benchmark
 
Threads started!
Done.
 
Maximum prime number checked in CPU test: 20000
 
 
Test execution summary:
    total time:                          31.7566s
    total number of events:              10000
    total time taken by event execution: 31.7533
    per-request statistics:
         min:                                  3.17ms
         avg:                                  3.18ms
         max:                                  3.54ms
         approx.  95 percentile:               3.18ms
 
Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   31.7533/0.00
 
sysbench 0.4.12:  multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 2
 
Doing CPU performance benchmark
 
Threads started!
Done.
 
Maximum prime number checked in CPU test: 20000
 
 
Test execution summary:
    total time:                          15.8911s
    total number of events:              10000
    total time taken by event execution: 31.7757
    per-request statistics:
         min:                                  3.17ms
         avg:                                  3.18ms
         max:                                  3.74ms
         approx.  95 percentile:               3.19ms
 
Threads fairness:
    events (avg/stddev):           5000.0000/4.00
    execution time (avg/stddev):   15.8878/0.00
 
sysbench 0.4.12:  multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 4
 
Doing CPU performance benchmark
 
Threads started!
Done.
 
Maximum prime number checked in CPU test: 20000
 
 
Test execution summary:
    total time:                          7.9636s
    total number of events:              10000
    total time taken by event execution: 31.8266
    per-request statistics:
         min:                                  3.17ms
         avg:                                  3.18ms
         max:                                 13.22ms
         approx.  95 percentile:               3.19ms
 
Threads fairness:
    events (avg/stddev):           2500.0000/4.95
    execution time (avg/stddev):   7.9567/0.00
 
eli@pine64:~$ sysbench --test=memory --memory-block-size=1K --memory-scope=global --memory-total-size=10G --memory-oper=read run
sysbench 0.4.12:  multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 1
 
Doing memory operations speed test
Memory block size: 1K
 
Memory transfer size: 10240M
 
Memory operations type: read
Memory scope type: global
Threads started!
Done.
 
Operations performed: 10485760 (1052151.29 ops/sec)
 
10240.00 MB transferred (1027.49 MB/sec)
 
 
Test execution summary:
    total time:                          9.9660s
    total number of events:              10485760
    total time taken by event execution: 7.0809
    per-request statistics:
         min:                                  0.00ms
         avg:                                  0.00ms
         max:                                  0.37ms
         approx.  95 percentile:               0.00ms
 
Threads fairness:
    events (avg/stddev):           10485760.0000/0.00
    execution time (avg/stddev):   7.0809/0.00
 
eli@pine64:~$ sysbench --test=memory --memory-block-size=1K --memory-scope=global --memory-total-size=10G --memory-oper=write run
sysbench 0.4.12:  multi-threaded system evaluation benchmark
 
Running the test with following options:
Number of threads: 1
 
Doing memory operations speed test
Memory block size: 1K
 
Memory transfer size: 10240M
 
Memory operations type: write
Memory scope type: global
Threads started!
Done.
 
Operations performed: 10485760 (704345.05 ops/sec)
 
10240.00 MB transferred (687.84 MB/sec)
 
 
Test execution summary:
    total time:                          14.8872s
    total number of events:              10485760
    total time taken by event execution: 12.0413
    per-request statistics:
         min:                                  0.00ms
         avg:                                  0.00ms
         max:                                  0.15ms
         approx.  95 percentile:               0.00ms
 
Threads fairness:
    events (avg/stddev):           10485760.0000/0.00
    execution time (avg/stddev):   12.0413/0.00
 

 

 

 

 

 

 

Link to comment
Share on other sites

Unfortunately these are numbers without meaning. Sysbench can be used to heat chips but not to measure performance of different hardware, especially not in your mode. Details: https://forum.armbian.com/index.php/topic/1748-sbc-consumptionperformance-comparisons/

 

It should also be noted that potential throttling has to be monitored, that OPi PC 2 with the crappy BSP based OS image you used is limited to 1008 MHz and that RPi is cheating on you since cpufreq sysfs nodes lie (they report 1200 MHz even when the CPU cores run only with 800 MHz)

 

CPU wise A64 and H5 should perform identical and RPi when using ARMv8 code should be slightly faster. Apart from that it's all about settings and use cases so these passive benchmarking approaches producing some numbers are always useless anyway :)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines