- Fri 05 November 2021
- macintosh
- Gaige B. Paulsen
- #server admin, #programming, #macintosh, #xcode
I last bought a MacBook Pro from Apple in November of 2019, in the midst of a bout of travel that was about to come to an end. In point of fact, I haven't used my trusty MacBook Pro much in the last 19 months, since the COVID-19 pandemic started, but it still is my go-to machine for running to the hosting center, taking with on the few trips we've been on, or just hanging out with Carol on the weekends. One thing that I will say about it is that it's been a hot, and relatively noisy machine, and has led me to keep a power cord in the front parlor now.
This is all coming to an end, as Apple "finally" released their professional M1 laptops, and they look awesome. So far, I've only had mine for the weekend, so this is likely to just be a first look at how it's working so far.
M1 migration
As I've written about before, I generally make a couple of full backups (one to TimeMachine, one using CarbonCopyCloner) before I migrate to a new Mac using Apple's Migration Assistant, and this time was no different than previous. Given that both the 2019 and 2021 MacBook Pros have Thunderbolt 3, I was able to hook them up over that connection for some super-fast copying—after one false start.
Turns out that if you want to hook up two Macs over TB3 for Migration Assistant, you want to have that connection in place before starting Migration Assistant on either of them. Apple's typically smart at looking at what networking is available, and will choose the TB3 direct connection over wired Ethernet or WiFI, but it appears to be the case only if that's seen relatively early in the process. My first time through with these two machines resulted in an 18-hour estimate based on running over WiFi, so I successfully aborted the process and restarted it after getting both machines connected via TB3.
The process went off without a hitch and everything expected moved over. As is usually the case nowadays, authorizations need to be reauthorized for new hardware, but other than that and a couple of pieces of software that needed to be reactivated, it was a straightforward process.
Developer Performance
I haven't done as thorough of a breakdown as I did with Developing on a 2019 Mac Pro, but I can report that the preliminary results on Cartographica are excellent. Previously, the 2019 MacBook Pro took about twice as long to build and about 12% less time to run tests than the Mac Pro. The test times have flattened out between the Mac Pro and the Intel MacBook Pro, and the Mac Pro still builds in about half the time. This is owing to some changes in my test jig, expansion of the software during the 1.5 rollout and overall improvement in test coverage.
The Cartographica results for the M1 MacBook Pro are extremely encouraging:
Machine | Build Time | Test Time |
---|---|---|
2021 MacBook Pro (8+2 core M1 Max, 64GB) | 101s | 157s |
2019 Mac Pro (16 core Xeon, 96GB) | 107s | 167s |
2020 Mac Mini (4+4 core M1, 16GB) | 145s | 191s |
2019 MacBook Pro (8 core i9, 32GB) | 202s | 167s |
2018 Mac Mini (6 core i7, 32GB) | 251s | 178s |
Tests built against 128c43ef using Xcode 13.1.
It's important to note that the current version of Cartographica is not M1 native. Unfortunately, a reasonably popular raster format has a third-party library that I have not been able to isolate yet and is not available for Apple Silicon for the Mac. This means that all the tests run in emulation on any non-Intel mac.
Also, interesting to note that the 2021 MacBook Pro ran the whole build/test process with no fans and was still at 100% battery when it finished. I ran the tests for the 2019 MacBook Pro while plugged in. Carol could hear the fans 7ft away. Running on battery didn't substantially change either the performance or the noise.
Software compatibility
So far, most of what I use on my MacBook Pro has been working fine. I did have some old drivers for my Logitech MX Ergo trackball that didn't run correctly. Installing the latest version of Logitech Options fixed that problem.
Docker
Docker was a bit of a surprise. I guess I hadn't been paying attention, so I didn't expect it to automatically use QEMU to run an Intel VM in order to run my local DNS server (the only long-running Docker container that I use). I haven't played around much with ARM-based containers, but I now have the perfect place to build them.
Brew
Brew was great. I'd done some work with it when I put the M1 in the build farm, so I was aware that the Intel and AS versions run in separate directory trees, making it easy to install partially-Intel and partially-AS. At this point, I have only a couple of items that are on intel and everything else is compiled for, and bottled for Apple Silicon. There are good directions on the brew site and other places on the web.
Battery performance
So far, the battery performance has been crazy-good. I ran on laptop power for about 3 hours during one stretch this weekend and that resulted in an 13% drop in battery. It wasn't the heaviest use I could do, but it was representative (I watched a bit of video, surfed the net, and did some compilation and testing).
Following up on this, I let the battery run down for 3 days and then sat in the Parlor, without battery and installed/removed software from brew and recompiled and debugged Cartographica. That got me almost 4 hours of run time with intense workloads and heavy networking (as well as a bunch of background processing for reindexing, etc.)
Fans and lap comfort
By my recconing, it's still shorts weather (it was 69°F yesterday), so the lap experience is without the benefit of jeans. As such, I can happily report that you might find the MacBook Pro does provide a little warming on cold days, it does not scorch your legs like it's i9 predecessor did.
As for fans, maybe I'll write a follow-up to this when I notice them, but so far if they're running, I couldn't tell you.
Conclusion
It's just a first look, but wow is this an interesting machine! So far, software and hardware have worked great; I'm mostly getting used to the changes in macOS Monterey and have basically forgotten about the notch (although I've been a long-time user of Bartender and I did move to using the Bartender Bar again on the MacBook Pro to avoid collisions with my many menu bar items).
This machine is an amazing first-step into professional Apple Silicon, and based on it, I fully expect that whatever they replace my 2019 Intel MacPro with will be an absolute beast, an likely in ways that I won't find necessary.
My next question is: for my needs, is the 16" really necessary? I've bought the largest laptop that Apple makes since the 1989 Macintosh Portable and although I'm very happy that I no longer carry a 16-lb beast with 1MB of RAM and a 16MHz 68000, the question remains whether the additional screen real estate is really worth the tray table issues on airplanes and the extra weight in my backpack. Previously, the 16" (and the 15" before that, and the 17" before that) provided improved thermals, higher-spec'd processors, and frequently better options for discrete graphics. All of these reasons appear to be gone (save the "high power" mode that only exists on the 16"), so the question for me is going to be: does the additional screen real estate counter the weight and seatback tray compatibility? It remains to be seen.