Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 06:50 28 Nov 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : How fast is your ARM Linux computer?

Author Message
mbramwel

Regular Member

Joined: 10/07/2013
Location: Canada
Posts: 42
Posted: 05:04am 06 Aug 2013
Copy link to clipboard 
Print this post

I noticed that many of us have a multitude of SBC systems kicking about. I am always curious to the speed of the various ARM boards running Linux.

Over the years, I have used a dhrystone benchmark to give me a feeling to the speed of a machine. Generally speaking, the faster machines give better/higher dhrystone numbers.

The only changes I have made over the years are small tweaks to make it work under GCC as well as some integer/float issues due to fast machines overflowing some counters.

The source code to some benchmarks can be found on my machine here:
wget http://web1.foxhollow.ca/b.tar.gz

---

My machine named gizmo.rootsgate.ca is running a RPi running Raspbian.
Here is the dhrystone20 output on Gizmo:

root@gizmo:/usr/local/benchmarks/dhry20# make clean; make
(set nonomatch;rm -f dhrystone dhrystoneR dhrystoneO dhrystoneRO *.o)
cc -O0 dhrystone.c -w -o dhrystone
Running dhrystone (No optimization, without registers)
./dhrystone
Dhrystone(1.1) time for 9,000,000 passes = 14
This machine benchmarks at 627,615 dhrystones/second
./dhrystone
Dhrystone(1.1) time for 9,000,000 passes = 14
This machine benchmarks at 625,869 dhrystones/second
./dhrystone
Dhrystone(1.1) time for 9,000,000 passes = 14
This machine benchmarks at 628,930 dhrystones/second

cc -O1 -DREG=register dhrystone.c -w -o dhrystoneR
Running dhrystone (Level 1 optimization, with registers)
./dhrystoneR
Dhrystone(1.1) time for 9,000,000 passes = 7
This machine benchmarks at 1,285,714 dhrystones/second
./dhrystoneR
Dhrystone(1.1) time for 9,000,000 passes = 6
This machine benchmarks at 1,287,553 dhrystones/second
./dhrystoneR
Dhrystone(1.1) time for 9,000,000 passes = 6
This machine benchmarks at 1,287,553 dhrystones/second

cc -O2 dhrystone.c -w -o dhrystoneO
Running dhrystone (Level 2 optimization, without registers)
./dhrystoneO
Dhrystone(1.1) time for 9,000,000 passes = 4
This machine benchmarks at 2,184,466 dhrystones/second
./dhrystoneO
Dhrystone(1.1) time for 9,000,000 passes = 4
This machine benchmarks at 2,238,805 dhrystones/second
./dhrystoneO
Dhrystone(1.1) time for 9,000,000 passes = 4
This machine benchmarks at 2,222,222 dhrystones/second

cc -O3 -DREG=register dhrystone.c -w -o dhrystoneRO
Running dhrystone (Level 3 optimization, with registers)
./dhrystoneRO
Dhrystone(1.1) time for 9,000,000 passes = 3
This machine benchmarks at 2,586,206 dhrystones/second
./dhrystoneRO
Dhrystone(1.1) time for 9,000,000 passes = 3
This machine benchmarks at 2,616,279 dhrystones/second
./dhrystoneRO
Dhrystone(1.1) time for 9,000,000 passes = 3
This machine benchmarks at 2,616,279 dhrystones/second


PS: An Intel i7 running ubuntu server:
Dhrystone(1.1) time for 99,000,000 passes = 1
This machine benchmarks at 50,253,807 dhrystones/second

 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3804
Posted: 07:07am 06 Aug 2013
Copy link to clipboard 
Print this post

  mbramwel said  Generally speaking, the faster machines give better/higher dhrystone numbers.


Well.... vaguely. Sometimes.

It very very much depends what you want to do with a computer. Many ARMs are pathetic at double precision floating point, for example. Rather irrelevant if you want to do low power and no floating point!

Some of the ARM chips are staggeringly poor at GPIO. E.g. 1GHz A13 is slower than the 80MHz PIC32 in a 'mite. But the 700MHz RPi is much faster! (Dhrystones will not reveal this.)

If you want to do video of various kinds then a GPU may be essential.

And so on.

The usual advice is to take benchmarks with a pinch - or better a sack - of salt.

John
 
mbramwel

Regular Member

Joined: 10/07/2013
Location: Canada
Posts: 42
Posted: 07:29am 06 Aug 2013
Copy link to clipboard 
Print this post

Very true indeed. I have some ARM boards that are running Linux doing (dare I say) very generic LAMP stuff (Linux with Apache, MySQL and PHP).

No GPIO. Web servers with email. One of my RPi boards has the CP/M emulator running under Linux. I ssh into it and see the A> prompt.

I do not run a monitor (no X11, just SSH). For me, the ARM board is a small processing engine with tcp/ip. In that case, the benchmark is not a bad test for board1 versus board2.

PS: I was happy when RPi came out with hard floats. The various benchmarks also showed an increase.
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3804
Posted: 09:14am 06 Aug 2013
Copy link to clipboard 
Print this post

Ah. I wanted pretty fast GPIO from my A13 but found it's too slow so it's sat around disconnected. (Might be doable with DMA but the documentation sucks so who knows.) Funny old world. You'd think a 1GHz cpu could do GPIO at a decent speed...

JohnEdited by JohnS 2013-08-07
 
cwilt
Senior Member

Joined: 20/03/2012
Location: United States
Posts: 147
Posted: 05:28pm 06 Aug 2013
Copy link to clipboard 
Print this post

I have so many doing various things. Each has a different distro.

Linux is not for GPIO work. I use a separate board and connect to linux.

No benchmarks, pretty is, is pretty does.
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3804
Posted: 07:55pm 06 Aug 2013
Copy link to clipboard 
Print this post

My point is that the A13 GPIO is slow without Linux - I checked it on the bare cpu (very easy to do btw). Linux can't fix slow GPIO hardware!

JohnEdited by JohnS 2013-08-08
 
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024