M1 Pro vs M2: Can the 15" Macbook Air replace a Macbook Pro?
Tags: apple, performance, mac, hardware
Published: 2023-06-09 08:54:02

I was never a fan of Apple hardware (even though I work on - company provided - Macs for 15 years now), until the Apple Silicon era. I was [so impressed](https://blogs.perl.org/users/dimitrios_kechagias/2021/04/perl-performance-on-apple-m1.html) by the speed of an M1 Mac Mini I bought (out of curiosity), that I had the company get me an M1 Pro 16" Macbook Pro as soon as we got our dev environment to support it.

The M1 Pro version the Macbook Pro comes with is even faster than the plain M1 and I have been very happy with the laptop, with the only disadvantage being its weight. At 2.1kg it is not "olden days heavy", but I move around with it all the time and I can definitely feel the weight compared to the 1-1.5kg ultrabooks I've used. I guess it's the size that makes the weight more obvious (significant torque when lifting it with one hand). The M1/M2 Macbook Airs do feel so much nicer to carry around, plus they are fanless designs, which adds to the appeal. However, I personally find the 13" screen too small for my main laptop, given that I often use it away from my monitors.

A couple of days ago though, Apple released a 15.3" version of the Macbook Air. You give away some ports and some RAM (I am on 32GB, the Air maxes out at 24GB), but you get no annoying fans (which may become an issue as laptops age) and a weight of just 1.5kg. Not a bad trade so far, but, the crucial question for me is: do you win or lose with the (next-gen but non-Pro) CPU, if you are coming from an M1 Pro Mac?

Luckily, I have an M2 Mac Mini (it is my media/[Plex](https://www.plex.tv/) server), which has the same CPU as the 15" Macbook Air, so I can run some benchmarks to answer the question myself. Note that you'd want at least the 512GB SSD version to get the full disk speed of the M2 (which is slower than the M1 Pro anyway). As it still manages a respectable 1500MB/s, I personally found it more cost effective to go for the 256GB internal and add a larger external SSD.

Let's see the CPU spec comparison:

|               | M1 Pro     | M2         |
|---------------|------------|------------|
| Transistors   | 33.7B      | 20B        |
| Max CPU Clock | 3.2 GHz    | 3.49 GHz   |
| Cores         | 8+2        | 4+4        |
| GPU Cores     | 16         | 10         |
| GPU EU        | 256        | 320        |
| Neural Cores  | 16         | 16         |
| RAM Bandwidth | 204.8 GB/s | 102.4 GB/s |

The theory says that the M2 is a smaller chip with fewer (just 4 performance vs 8), but faster CPU cores. The GPU cores are fewer on the M2, but they have more execution units. The big difference is the memory bandwidth - the M1 Pro has a 256bit bus, which is twice the width, thus bandwidth, of the M2.

We can see the theory translate directly to the following synthetic benchmarks results:

## Synthetic Benchmarks

### Geekbench 5

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zciu6l4ibnz74znj3ad7.png)

According to Geekbench, the M2 is roughly **10% faster** for single-core performance, while it is almost **30% slower** for multi-core, which is pretty much as expected. We'll see how that translates to some real-world tasks later on. I should not here that the Macbook Airs do constrain the M2 a bit in prolonged multi-core performance, but according to widely reported benchmarking, it seems to be a difference of under 5% vs the Mac Mini. 

### Civilization VI

To compare the GPUs, I'll use the in-game benchmark of Civilization VI (base benchmark and Gathering Storm expansion for graphics and AI), as it's the one game that I play from time to time:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0txqx0jqgsvru64t78d1.png)

Interestingly, I get pretty much the same AI benchmark result and the M2 marginally pulling ahead (**2% faster**) with the fewer but faster GPU cores on the graphics benchmarks.

## Benchmarking real world tasks

### Xcode

I'll continue with some benchmarks for developers. I clean-compiled my [astronomy](https://apps.apple.com/us/app/polar-scope-align-pro/id970161373) and [weather](https://apps.apple.com/us/app/xasteria-astronomy-weather/id985030722) iOS apps 10 times each and took the average:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dubwqan57t1af59pblko.png)

Xcode scales very well on multi-core systems, so M2 is **15% slower** than the M1 Pro with its more cores (and faster RAM). I actually got the same advantage for the M1 Pro when I timed how long it took to actually decompress the Xcode .xip, which, as you probably know, is quite a slow task in general:

```
time xip -x Xcode_14.3.xip
```

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2pc7ocrseiwnflr3a2wh.png)

Not a huge difference, but I would not call it insignificant either.

### Compiling Perl & Python from sources

Apart from Xcode, I often get to compile with make, gcc/clang etc. I'll try to compile Perl 5.36.0 (because I use Perl [at work](https://www.spareroom.com/) and Python 3.10.12 from sources. 

First, following the common instructions (which give you a single-core compile and tests). For Perl we can just use perlbrew:

```
time perlbrew install perl-5.36.0
```

For Python we run manually:

```
time (./configure && make && make test)
```

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/47joe1hhn3r4lgt4s7ny.png)

The M2 manages to be **7-8% faster**. Let's try a fast compilation on all cores, skipping tests:

```
time perlbrew install -n -j <n> perl-5.36.0
```

and

```
time make -j <n>
```

Where n = 10 for the M1 Pro, 8 for the M2.

The results:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c9gphy0qiyxl128iu109.png)

The M2 is **7-11% faster**. This is due to the fact that from the  activity monitor it is clear that despite the `-j` specifying all cores, the compilations don't actually significantly engage most of the cores, so the M1 Pro's extra ones don't help.

### Handbrake

To see where the M1 Pro's extra cores do help I left a 4k video transcoding for last:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kqa4y7wsd6g7einv085f.png)

The full **30% M1 Pro advantage** we saw with Geekbench is present here.

## Conclusion

Let's put all tests in a nice table:

|                             | M1 Pro | M2     | M2 advantage |
| --------------------------- | ------ | ------ | ------------ |
| Xcode Compilation (s)       | 17.25  | 19.9   | \-15.36%     |
| Decompress XIP (s)          | 198    | 228    | \-15.15%     |
| Make Perl single-core (s)   | 781.9  | 729.7  | 6.68%        |
| Make Perl multi-core (s)    | 89.6   | 82.4   | 8.04%        |
| Make Python single-core (s) | 239.4  | 219.9  | 8.15%        |
| Make Python multi-core (s)  | 19.5   | 17.4   | 10.77%       |
| Handbrake (s)               | 36     | 47     | \-30.56%     |
| Geekbench 5 Single-core     | 1768   | 1953   | 10.46%       |
| Geekbench 5 Multi-core      | 12665  | 9036   | \-28.65%     |
| Civ VI Avg frame (ms)       | 22.22  | 21.75  | 2.12%        |
| Civ VI GS Avg frame (ms)    | 30.46  | 29.63  | 2.72%        |
| Civ VI GS AI (s)            | 127.76 | 127.03 | 0.57%        |

My takeaway is that if you are doing specific, heavy multi-core tasks like video encoding, you will see a significant slowdown going even from the previous-gen Macbook Pro to the new Macbook Air. I guess even with less obvious tasks like Xcode, you can still sort of feel the difference.

So it's specific types of users that would add one more drawback to not having a "Pro" version. And I think these types of users would consider going to an M2 Pro Mac instead, if they were to upgrade from their M1 Pro.

If you belong to the other types of users who are mainly on lighter (less thread heavy) tasks, the M2 is actually a bit of an upgrade over the M1 Pro. And the 15" Macbook Air makes a great proposition: small, light, no fans, very fast.