Hello Arduinoland residents,
I searched high and low for the execution times for the basic (addition, multiply, divide) and less used (sqrt, sin, etc) math operations on the Arduino when using different data types. I could find nothing definitive, so I took it upon myself to measure the speeds. I used the Mega2560, so these measurements should correlate well on the Uno. It took a while to figure out a way too keep the compiler from optimizing the math operation out of existence, but I think I got it figured out. The results are in the attached picture.
The most interesting result is that floating point division is actually faster than 32-bit integer division! What takes 44us with long operands only takes 34us with float operands.
Anyway, I hope these results help someone out there. And if anyone has done similar tests, do these results jibe with yours?