Raspberry Pi - armv5tel vs armv6hl Benchmarks

From CDOT Wiki
Revision as of 16:34, 19 December 2012 by Chris Tyler (talk | contribs)
Jump to: navigation, search
Important.png
This is a draft only!
It is still under construction and content may change. Do not rely on this information.

Here are some preliminary armv5tel vs armv6hl Raspberry Pi benchmarks performed by Jordan Cwang 2012-12-12 - 2012-12-19.

Tests were performed using the released F17 remix (armv5tel) and the F17 test image (armv6hl) running on identical 512MB Pi, with the same type of SD card, partitioning, network connection (private LAN to test host), and running services. The kernel was compiled for armv5 and the same on both systems. More benchmarks to follow...

Summary

Test Units Better is... Test options armv5tel results armv6hl results armv6hl improvement over armv5tel Comments
GTKperf seconds lower defaults 159.62 104.97 34% Mirrors subjective comments made by users.
sysbench cpu seconds lower --test=cpu run 865.4254 516.5205 40%
ApacheBench seconds lower -n 2000 -c 10 (against static page on Pi) 139.787 174.240 -25% Repeatable. Iteration value (2000) is high enough to moot caching issues. More investigation required.
yum seconds lower install httpd / remove httpd 215.91 / 122.93 122.93 / 108.59 43% / 33% 10-run average coming soon.

GTKperf

armv5tel
GtkPerf 0.40 - Starting testing: Tue Dec 18 17:07:28 2012

GtkEntry - time:  0.92
GtkComboBox - time: 24.14
GtkComboBoxEntry - time: 15.32
GtkSpinButton - time:  3.96
GtkProgressBar - time:  3.67
GtkToggleButton - time:  4.65
GtkCheckButton - time:  3.02
GtkRadioButton - time:  4.23
GtkTextView - Add text - time: 10.61
GtkTextView - Scroll - time:  6.64
GtkDrawingArea - Lines - time: 27.90
GtkDrawingArea - Circles - time: 35.73
GtkDrawingArea - Text - time: 17.22
GtkDrawingArea - Pixbufs - time:  1.52
 --- 
Total time: 159.62
armv6hl
GtkPerf 0.40 - Starting testing: Tue Dec 18 17:08:38 2012

GtkEntry - time:  0.74
GtkComboBox - time: 11.29
GtkComboBoxEntry - time:  6.57
GtkSpinButton - time:  1.11
GtkProgressBar - time:  0.72
GtkToggleButton - time:  1.44
GtkCheckButton - time:  1.23
GtkRadioButton - time:  2.10
GtkTextView - Add text - time:  9.34
GtkTextView - Scroll - time:  4.72
GtkDrawingArea - Lines - time: 21.16
GtkDrawingArea - Circles - time: 27.95
GtkDrawingArea - Text - time: 14.98
GtkDrawingArea - Pixbufs - time:  1.56
 --- 
Total time: 104.97

armv6hl is about 34% faster than armv5tel

sysbench cpu

armv5tel
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: 10000


Test execution summary:
    total time:                          865.4808s
    total number of events:              10000
    total time taken by event execution: 865.4254
    per-request statistics:
         min:                                 84.33ms
         avg:                                 86.54ms
         max:                                431.30ms
         approx.  95 percentile:              90.00ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   865.4254/0.00 
armv6hl
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: 10000


Test execution summary:
    total time:                          516.5632s
    total number of events:              10000
    total time taken by event execution: 516.5205
    per-request statistics:
         min:                                 51.06ms
         avg:                                 51.65ms
         max:                                114.26ms
         approx.  95 percentile:              54.66ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   516.5205/0.00

armv6hl is about 40% faster than armv5tel

ApacheBench

armv5tel
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 10.0.0.6 (be patient)


Server Software:        Apache/2.2.22
Server Hostname:        10.0.0.6
Server Port:            80

Document Path:          /
Document Length:        4609 bytes

Concurrency Level:      10
Time taken for tests:   139.787 seconds
Complete requests:      20000
Failed requests:        0
Write errors:           0
Non-2xx responses:      20000
Total transferred:      96140000 bytes
HTML transferred:       92180000 bytes
Requests per second:    143.07 [#/sec] (mean)
Time per request:       69.894 [ms] (mean)
Time per request:       6.989 [ms] (mean, across all concurrent requests)
Transfer rate:          671.64 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   0.8      1      30
Processing:     5   69 132.6     17    2225
Waiting:        4   30  82.0      4    2102
Total:          5   70 132.6     18    2227

Percentage of the requests served within a certain time (ms)
  50%     18
  66%     86
  75%    112
  80%    127
  90%    166
  95%    204
  98%    257
  99%    319
 100%   2227 (longest request)
armv6hl
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 10.0.0.2 (be patient)


Server Software:        Apache/2.2.22
Server Hostname:        10.0.0.2
Server Port:            80

Document Path:          /
Document Length:        4609 bytes

Concurrency Level:      10
Time taken for tests:   174.240 seconds
Complete requests:      20000
Failed requests:        0
Write errors:           0
Non-2xx responses:      20000
Total transferred:      96140000 bytes
HTML transferred:       92180000 bytes
Requests per second:    114.78 [#/sec] (mean)
Time per request:       87.120 [ms] (mean)
Time per request:       8.712 [ms] (mean, across all concurrent requests)
Transfer rate:          538.84 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   1.6      1      34
Processing:     5   86 254.0     22    6580
Waiting:        4   42 125.7      6    4210
Total:          6   87 254.0     24    6581

Percentage of the requests served within a certain time (ms)
  50%     24
  66%     89
  75%    121
  80%    138
  90%    186
  95%    231
  98%    295
  99%    403
 100%   6581 (longest request)

armv6tel is about 25% slower than armv5tel

yum

This test used yum to remove and install httpd after several runs to warm up cache, etc.

armv5tel
Install:
42.66user 4.89system 3:35.91elapsed 22%CPU (0avgtext+0avgdata 35244maxresident)k
204016inputs+22000outputs (183major+29257minor)pagefaults 0swaps

Remove:
20.52user 2.62system 2:42.62elapsed 14%CPU (0avgtext+0avgdata 27200maxresident)k
9976inputs+10776outputs (43major+18359minor)pagefaults 0swaps
armv6hl
Install:
30.33user 2.96system 2:02.93elapsed 27%CPU (0avgtext+0avgdata 35168maxresident)k
0inputs+19208outputs (0major+21302minor)pagefaults 0swaps

Remove:
14.03user 1.81system 1:48.59elapsed 14%CPU (0avgtext+0avgdata 25100maxresident)k
0inputs+8816outputs (0major+17893minor)pagefaults 0swaps

Installation is about 43% faster on armv6hl than armv5tel

Removal is about 33% faster on armv6hl than armv5tel