7 7
tkaiser

research SBC consumption/performance comparisons

Recommended Posts

7 hours ago, superjamie said:

 

The configuration tool allowed users to try for 1GHz but it definitely wasn't achievable on all boards. I had a first-batch 256MiB RAM Pi 1 (which I bought the week they were released in 2012) and a later 512 MiB Pi 1, both of which could not reliably go past 900MHz. I've spoken to other Pi 1 owners who could achieve 950MHz or 1000MHz, and one owner whose board couldn't even get past 850MHz reliably.

 

If you had a Pi 1 reaching 1150MHz, you were very lucky and your experience was definitely not typical of most users.

You needed to bump the voltage to ~1.4V to hit those speeds. On stock voltage, most boards went to ~850-950Mhz (mine topped out at ~930mhz). If you cranked the voltage to 1.4V and didn't hit 1.0.Ghz reliably, then you definitely had the biggest turd of an example. 

Share this post


Link to post
Share on other sites
On 4.8.2016 at 8:38 PM, tkaiser said:

Performance: sysbench takes 120 seconds (constantly at 1200 MHz, 80°C)

 

Little update on the most useless benchmark around. Since I glued together an Armbian armhf Debian userland with RPi bootloader/kernel I was able to test this on RPi 3 again: With normal Debian Jessie armhf sysbench binary execution is 134 seconds (12% slower). Now I upgraded to Debian stretch and then execution time is just 105 seconds (15% faster). At least Raspbian folks use better compiler switches when baking their packages compared to Debian armhf.

 

 

root@raspberrypi:~# sysbench --test=cpu --cpu-max-prime=20000 run --num-threads=$(grep -c '^processor' /proc/cpuinfo)
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:                          134.4076s
    total number of events:              10000
    total time taken by event execution: 537.5008
    per-request statistics:
         min:                                 52.98ms
         avg:                                 53.75ms
         max:                                182.82ms
         approx.  95 percentile:              54.94ms

Threads fairness:
    events (avg/stddev):           2500.0000/7.25
    execution time (avg/stddev):   134.3752/0.02

root@raspberrypi:~# lsb_release -c
Codename:	jessie



root@raspberrypi:~# sysbench --test=cpu --cpu-max-prime=20000 run --num-threads=$(grep -c '^processor' /proc/cpuinfo)
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:                          105.6523s
    total number of events:              10000
    total time taken by event execution: 422.4823
    per-request statistics:
         min:                                 41.47ms
         avg:                                 42.25ms
         max:                                120.22ms
         approx.  95 percentile:              42.98ms

Threads fairness:
    events (avg/stddev):           2500.0000/3.08
    execution time (avg/stddev):   105.6206/0.01

root@raspberrypi:~# lsb_release -c
Codename:	stretch

 

And if we allow RPi 3 to run with ARMv8 code execution time will be below 8 seconds (if you don't run in under-voltage situations otherwise RPi firmware will silently play frequency capping and then your benchmark will run twice as long or half as fast). 'sysbench --test=cpu' is still a great compiler optimization benchmark and load/heat generator but you can't test different CPUs with it :)

 

Edit: Tests repeated with RPi 2 (BCM2836) -- no throttling occured, I used the default 900 MHz clockspeed:

 

  • Raspbian/ARMv6: 192 sec
  • Debian Jessie/ARMv7: 208 sec
  • Debian Stretch/ARMv7: 153 sec

 

Edit 2: And just recently other SBC distros started to use sysbench to 'measure CPU performance' -- funny idea :) 

Share this post


Link to post
Share on other sites
7 7