How fast is the Apple M1?

February 3, 2021

The new Apple M1 processor has gotten excellent reviews for speed. Getting curious, I measured its speed on pure c code, latex and R and compared it to its most recent Intel competitors.

The c code I ran my PhD thesis on still compiles and runs, three decades later. I've tried it on a number of computers, operating systems and c compilers and it always works.

That makes it a nice benchmark for new computers.

My main computer is a year old MacBookPro 16 with its fastest processor, and my travel laptop is a two-year-old MacBookAir. I just got the new ARM-based MacBookAir M1. Every review I've seen says it is blazingly fast, so I tried it on my old c code, and here is what happened.

I also tried to compile latex slides, always a slow process. These are the slides I tried.

And R.

In the below, Rosetta means the intel emulation on the M1.

c code

| Machine | Processor | Speed | | ----------- | ----------- | | MacBookAir | Intel i5-8210Y CPU @ 1.60GHz | 6.98 seconds | | MacBookPro | Intel i9-9980HK CPU @ 2.40GHz | 5.86 seconds | | MacBookAir M1 rosetta | Apple M1 | 7.14 seconds | | MacBookAir M1 native | Apple M1 | 5.42 seconds |
{: .table }

For the M1, I tried both the Intel compiled code, run under the Rosetta translation, and a native compilation.

So, the M1 under Rosetta is much slower than its Intel predecessor, but the native M1 code handsomely beats the three times more expensive MacBookPro.

Impressive.

Latex

| Machine | Processor | Speed | | ----------- | ----------- | | MacBookAir | Intel i5-8210Y CPU @ 1.60GHz | 49.20 seconds | | MacBookPro | Intel i9-9980HK CPU @ 2.40GHz | 31.00 seconds | | MacBookAir M1 rosetta | Apple M1 | 26.86 seconds | {: .table }

Latex does not have a native M1 release.

Wow.

I did not expect that. The MacBook air running Intel compiled latex distribution beats the fastest and most expensive MacBookPro.

R

I finally tried a small R application, a GARCH optimization similar to what I did here.

and...

| Machine | Processor | Speed | | ----------- | ----------- | | MacBookAir | Intel i5-8210Y CPU @ 1.60GHz | 0.434 seconds | | MacBookPro | Intel i9-9980HK CPU @ 2.40GHz | 0.333 seconds | | MacBookAir M1 rosetta | Apple M1 | 0.462 seconds |
| MacBookAir M1 native | Apple M1 | 0.216 seconds |
{: .table }

What!

The native M1 is running R Under development (unstable) (2021-02-06 r79953)

If I had seen this anywhere else, I would not have believed it. The M1 is a third faster than the intel MacBookPro.

Merits more investigation, and consistent with the c results. I am so far impressed!

One caveat, this M1 version of R is unstable, and most packages I tried don't work yet.

Summary

There should be no surprises in these results, they correspond with what other people have found. But the sceptic that I am, I had to see for myself. I did not expect the ARM to be a third faster than the top of the line Intel.

Once lockdown is over, I will compare it to the brand new and fastest single core Intel Mac on the market, now sitting unused in my office, (a 3.6GHz 10-core 10th-generation Intel Core i9 processor). I'd be curious to see if it beats the MacBookAir M1 on single core apps.

There are caveats. My test is only on a single core. It is only testing raw CPU speed in numerical calculations. And then, the numerical calculations I am doing. The latex is heavily dependent on disk speed, and R is specific to what I do. In other applications it will look different.

The Intel MacBookAir looks better than it deserves. It is a slow machine, very slow, and just unpleasant to use.

I am looking forward to native M1 versions my main applications. R is here now, but only in beta. Latex is not. Python sort of, but yet missing packages I need, like scipi. Latex and Julia not yet.

p.s.

My job market paper with the application I am running the c code from is:

Danielsson, Jon, 1994, “Stochastic Volatility in Asset Prices: Estimation with Simulated Maximum Likelihood”, Journal of Econometrics.

And the algorithm I developed in my thesis with my PhD advisor for fast integration of latent variables from the stochastic volatility model was published as

Danielsson, Jon and Jean-François Richard (1993) “Accelerated Gaussian Importance Sampler with Application to Dynamic Latent Variable Models," Journal of Applied Econometrics.