New MAX!

New MAX!
M1 MAX MacBook 16" (2021, left) and M1 MacBook Air (2020, right)

My company had a two-year laptop replacement policy for engineers. So, I had my chance to replace my laptop and got a new MacBook Pro 16" with M1 MAX (10-core CPU, RAM 32G).

M1 had been in the spotlight since its last year's debut, and M1 Pro and M1 MAX came last October. I believe there already have been many reviews and benchmarks. So, I just want to scribble down my personal impressions.

I can summarize my impression in one phrase: "solid as expected." I've been using M1 MacBook Air (8-core CPU) for my personal usage. I'm really delighted about it. It could have accomplished not only basic tasks (e.g., I'm writing this blog post with my M1 MBA) but also many sophisticated tasks. For example, I was astonished when I found several Go unit tests ran in only half time than my previous company laptop (MacBook Pro 16" 2019 - 2.3GHz 8-core Intel Core i9). So, I expected the new M1 MAX to do its job firmly, and it conformed to my expectations perfectly.

Personally, I think the satisfaction from the M1 series comes from its power efficiency; it gives silent, cool (literally low temperature) environments. When I used my previous laptop, it quickly got hot when I cranked out the code. I heard some of my colleagues had low-temperature burns on their wrists. And the heat led to the rattling fan sounds. Even the heat so frequently made the CPU cut its performance down and go on a low-performance mode. I haven't heard any fan noise yet from my new M1 MAX; a chill wrist rest was in the bargain.

2056x1329 scaled mode with a comfortable Retina-feeling for programmers

The screen is awesome. The Liquid Retina XDR display (what a marketing phrase) is stunning. It is not a true micro-LED screen but an LCD screen with micro-LED backlights. But the color is vivid and black is black, at least much better than the previous one. But the best thing came with its screen asset. Now, we have a true-big-screen for programmers. My previous laptop's 16" screen has 3072x1920 resolution. Not bad, but it couldn't give the retina feeling in the 2048x1280 scaled mode. So, I had no choice but to stick to the 1792x1120 scaled mode. But the new 16" has 3456x2234 resolution, which makes me (a 47-year-old programmer) comfortable in the 2056x1329 scaled mode.

However, there came one weird thing. I was not interested in running benchmark programs, but I wanted to check how fast my new M1 MAX was. So, I ran several Go unit tests and got surprising results. Regardless of the code size and test flags (e.g., -parallel for parallel executions and -p for multiple binaries (packages)), my M1 MacBook Air consistently outperforms the new M1 MAX 16" MacBook Pro by 30%. I don't know the reason yet. Both machines have the same configuration (Go 1.16.6, and all libraries were installed with the same procedure). It does not matter much, and it just makes me fascinated by the M1. As I mentioned in my last post, I've started playing BioShock at my M1 MBA. Although it is an old game, seeing how buttery smooth the game runs is pretty impressive. I love these machines. They give me a solid, unobstructed work and personal life; nothing could be better.

Update: Now, I got it. The M1 MAX MBP used amd64 version of Go. After updating it with arm64 version, the MBP outperforms the MBA by 20%.