Go Down

### Topic: Speed of Arduino compared to PC... (Read 710 times)previous topic - next topic

#### westfw

##### Mar 15, 2012, 09:16 am
So I'm taking the free online Stanford class in Cryptography, and the first assignment has one of those "with a little thought you can solve this in a loop with less than 2^28 iterations" problems.  For kicks, I thought I'd run it on an Arduino as well as on my (someone aged) 2.8GHz Xeon desktop.  The straightforward implementation takes about 7500 seconds on a 16MHz Arduino.  A bit of obvious optimization (eliminating 32bit multiplications and modulus and replacing them with repeated additions and conditional bounds checking) reduces that to only about 1500s.

It takes about 0.5s on the desktop (either way.)

So there you have it.  An Arduino is about 15000 times slower than a Mac. :-)

#### DuaneB

#1
##### Mar 15, 2012, 10:51 am
Hi,
Interesting, unless my maths is wrong, taking clock speed alone, you would expect around 175 times slower. Is my maths wrong or is there a lot of floating point or multi byte maths in your algorithm ?

Duane B

rcarduino.blogspot.com
http://rcarduino.blogspot.com/2012/04/servo-problems-with-arduino-part-1.html
then watch this
http://rcarduino.blogspot.com/2012/04/servo-problems-part-2-demonstration.html

Rcarduino.blogspot.com

#### AWOL

#2
##### Mar 15, 2012, 10:55 am
It's not just clock speed, it's data path width, and some instructions doing more in one clock cycle.
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

#### Nick Gammon

#3
##### Mar 15, 2012, 11:01 am
A lot would depend on the algorithm, but I believe a lot of cryptographic stuff is designed to run on low-power, low-speed devices, like smart cards. A "reference" implementation may not be designed to be optimized for those situations though.
Please post technical questions on the forum, not by personal message. Thanks!

http://www.gammon.com.au/electronics

Go Up

Please enter a valid email to subscribe

To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy