Benchmarking in your pants – 10th Anniversary Edition™

One of my favorite posts is one that’s over ten years old: Benchmarking in your pants.

In that essay, I compared the original iPhone to my iMac, both with native and web apps. One of the reviewers of my treatise on the iPhone SDK thought it would be fun to see how those numbers stack up to an iPhone X.

The code still runs, so why not?

Test | Original iPhone | iPhone X | Faster by
100,000 iterations | 0.015 secs. | 0.000408 secs. | 36x
10,000 divisions | 0.004 | 0.000043 | 93x
10,000 sin(x) calls | 0.105 | 0.000107 | 981x
10,000 string allocations | 0.085 | 0.000367 | 230x
10,000 function calls | 0.004 | 0.000040 | 100x

These numbers should be considered very approximate. I only used three digits of precision in the original measurements, this time over 5 were needed. Also, there was no attempt to use more than one core.

Still, it’s easy to see why today’s apps are much more sophisticated. They run code hundreds of times faster.

They also have screens that are a bit larger than 320 × 480 :-)