tk321
Posts: 31
Joined: Sat Jun 02, 2012 6:09 pm
Location: UK

performance

Sat Jun 02, 2012 8:14 pm

This is some terrific work to get a hard fpu linux port for armv6! I hope this will be the default distribution as no serious kid will want to use software fpu emulation once they have an fpu coprocessor...

I did some quick simple benchmark, thought I'd share this here. It's probably not 100% accurate but gives a rough idea. Double precision operations are at least 7 times as fast compared to soft fpu emulation. This is for fpu operations which work on registers only ie require no memory access.

Code: Select all

soft float (official debian6 image):
operation (asm)                 ops per sec     cycles per op
+       (bl __aeabi_dadd)       12  Mflops      59
*       (bl __aeabi_dmul)       11  Mflops      64
/       (bl __aeabi_ddiv)       1.2 Mflops      590     
sqrt    (bl sqrt)               270 kflops      2500
exp     (bl exp)                240 kflops      3000
log     (bl log)                180 kflops      3900
sin     (bl sin)                270 kflops      2500
erf     (bl erf)                250 kflops      2800
pow     (bl pow)                 88 kflops      7900


hard float (unofficial raspbian image):
operation (asm)                 ops per sec     cycles per op   speed up
+       (fadd)                  87/350 Mflops   8/2             7/30
*       (fmuld)                 77/350 Mflops   9/2             7/32
/       (fdivd)                 22 Mflops       32              18
sqrt    (fsqrtd)                15 Mflops       48              52
exp     (bl exp)                2.3 Mflops      310             10
log     (bl log)                1.3 Mflops      540              7
sin     (bl sin)                2.7 Mflops      260             10
erf     (bl erf)                3.8 Mflops      180             15
pow     (bl pow)                0.8 Mflops      830             10

john.mills
Posts: 81
Joined: Mon Apr 09, 2012 5:23 am

Re: performance

Sun Jun 03, 2012 5:37 am

Yes, this looks great for applications that can make use of this! A big thank you also to Mike, Plugwash and the guys who have made this possible.

tk321
Posts: 31
Joined: Sat Jun 02, 2012 6:09 pm
Location: UK

Re: performance

Sun Jun 03, 2012 6:49 pm

Another benchmark, this time java-script : http://www.webkit.org/perf/sunspider/sunspider.html

raspbian/midori:

Code: Select all

http://www.webkit.org/perf/sunspider-0.9.1/sunspider-0.9.1/driver.html

============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total:                 21958.3ms +/- 1.3%
--------------------------------------------

  3d:                   2919.7ms +/- 1.5%
    cube:                674.9ms +/- 2.6%
    morph:              1165.1ms +/- 2.7%
    raytrace:           1079.7ms +/- 1.5%

  access:               2907.1ms +/- 0.5%
    binary-trees:        313.2ms +/- 2.4%
    fannkuch:           1536.5ms +/- 0.7%
    nbody:               562.7ms +/- 1.2%
    nsieve:              494.7ms +/- 1.8%

  bitops:               2656.5ms +/- 8.2%
    3bit-bits-in-byte:   439.2ms +/- 4.4%
    bits-in-byte:        453.7ms +/- 4.5%
    bitwise-and:         872.0ms +/- 12.2%
    nsieve-bits:         891.6ms +/- 12.0%

  controlflow:           385.3ms +/- 2.7%
    recursive:           385.3ms +/- 2.7%

  crypto:               1492.4ms +/- 1.6%
    aes:                 737.0ms +/- 1.0%
    md5:                 400.4ms +/- 4.4%
    sha1:                355.0ms +/- 3.7%

  date:                 1981.5ms +/- 0.7%
    format-tofte:        967.1ms +/- 1.3%
    format-xparb:       1014.4ms +/- 0.9%

  math:                 2633.9ms +/- 2.5%
    cordic:              835.3ms +/- 7.0%
    partial-sums:       1232.1ms +/- 2.2%
    spectral-norm:       566.5ms +/- 4.2%

  regexp:               1791.8ms +/- 0.2%
    dna:                1791.8ms +/- 0.2%

  string:               5190.1ms +/- 0.7%
    base64:              646.2ms +/- 2.0%
    fasta:               836.1ms +/- 3.7%
    tagcloud:            892.3ms +/- 1.2%
    unpack-code:        1826.7ms +/- 0.3%
    validate-input:      988.8ms +/- 2.0%
Unfortunately this test hangs on the official debian6/midori (maybe sd card issues, which I'm having a lot), so I'm going with this review:
http://www.engadget.com/2012/06/01/rasp ... inker-toy/

They get 44230ms overall, so raspbian/midori is on average twice as fast executing java-script! Great result.

User avatar
mpthompson
Posts: 620
Joined: Fri Feb 03, 2012 7:18 pm
Location: San Carlos, CA
Contact: Website

Re: performance

Sun Jun 03, 2012 8:01 pm

Thanks for posting this information. Very encouraging results. I've been so busy with other things I really haven't had time to do any benchmarks myself, other than some work done when I first got the armv6 code up an running.

tk321
Posts: 31
Joined: Sat Jun 02, 2012 6:09 pm
Location: UK

Re: performance

Mon Jun 04, 2012 6:04 pm

Well thanks for making this project only possible!

Motivated by this recent review I've also run hardinfo:

Code: Select all

hardinfo        debian6         raspbian        speedup
CPU Blowfish    101.762         100.234         1.0
CPU CryptoHash*   8.817           8.829         1.0
CPU Fibonacci    27.018          26.663         1.0
CPU N-Queens     86.320          86.037         1.0
FPU FFT         272.413         150.656         1.8
FPU Raytracing  976.153         131.929         7.4

* higher the better (rest is all lower the better)
As expected no improvements for cpu or integer operations but excellent speedup for fpu operations.

Jimmer
Posts: 20
Joined: Tue Jan 10, 2012 5:34 pm

Re: performance

Mon Jun 04, 2012 6:20 pm

Guys, just wanted to chip in.

I've managed to get xfce running pretty well on the rpi using raspbian:

1) I've overclocked:

over_voltage=6
arm_freq=1000
core_freq=500
sdram_freq=500

2) Move to a usb stick:
I've got the raspbian main partition and swap on a sandisk cruzer 4 GB stick. I've obviously left the boot partition on the sdcard. I've found with some simple tests that the io to the usb stick is about three times faster than that of the sdcard.

These two improvements (plus any benefits the hard float may bring) make a surprisingly snapper GUI experience.

Still can't get alsa to produce anything other than a god-awful screech, but that's probably a topic for another thread!

Anyone else got any tweaks/tips to up performance?

tk321
Posts: 31
Joined: Sat Jun 02, 2012 6:09 pm
Location: UK

Re: performance

Mon Jun 04, 2012 6:41 pm

I can't actually add anything to that just some wishes:
  • get some fast class 10 sd-cards working (the one I bought SanDisk Extreme Class 10 8GB just doesn't) hopefully that'd be similarly fast as an external usb stick?
  • get X11 with native gpu acceleration, don't know if anyone is working on this and how long that might take
  • get omxplayer to support more codecs, eg mpeg2 (licensing issues), and mplayer to make use of the gpu for video out
  • raspbian of course

trn
Posts: 46
Joined: Wed May 09, 2012 11:30 am

Re: performance

Mon Jun 04, 2012 7:55 pm

Jimmer wrote:Guys, just wanted to chip in.

1) I've overclocked:

over_voltage=6
arm_freq=1000
core_freq=500
sdram_freq=500
How long overclocked rpi running?
Some unstable state?

If something wrong, what then?

Jimmer
Posts: 20
Joined: Tue Jan 10, 2012 5:34 pm

Re: performance

Tue Jun 05, 2012 6:06 am

trn wrote:How long overclocked rpi running?
On and off 5 days. Had it running for a couple of days straight without any problems
trn wrote:Some unstable state?
Not that I can tell. It's a early developers release board that's been overclocked and overvolted and that's running a still rapidly evolving distro. You would think that there be some hiccups, but it works fine as far as I can see. YMMV
trn wrote:If something wrong, what then?
I'm not sure if you're asking if anything has actually gone wrong yet, or what I will do if something goes wrong? Well, no nothing yet. If something, then I'll turn off all the overclocking and see if the problem persists....

User avatar
mpthompson
Posts: 620
Joined: Fri Feb 03, 2012 7:18 pm
Location: San Carlos, CA
Contact: Website

Re: performance

Sun Jul 15, 2012 6:27 pm

On the IRC channels, adama posted a link to his blog where he gathered additional performance information between Debian armel and Raspbian. I thought others might be interested in this information as well.

http://www.memetic.org/raspbian-benchma ... -vs-armhf/

User avatar
oztrailrider
Posts: 55
Joined: Sat Jan 14, 2012 3:21 am

Re: performance

Mon Jul 16, 2012 1:16 am

mpthompson wrote:On the IRC channels, adama posted a link to his blog where he gathered additional performance information between Debian armel and Raspbian. I thought others might be interested in this information as well.

http://www.memetic.org/raspbian-benchma ... -vs-armhf/
Thanks for the link. There's definitely good performance increases there, particularly when it comes to MP3 encoding. I am glad that the foundations official image is going to be based off Raspbian as it seems a waste to use soft float when the hardware is there, optimisations like this are important on limited hardware.

Return to “Raspbian”