Parallels on MacBook Pro M1
From a software developer perspective, I share my findings on running Windows 11 using Parallels on a 2021 MacBook Pro M1. How does it perform?
In a recent article, I wrote about getting a new MacBook Pro M1 and loading it up with the various software developer tools I use to replace my failing 2015 MacBook Pro. I also decided to load up Parallels and give it a try as well, and I wanted to share my thoughts.
Lots of Variety
As mentioned in my prior article (I'll link it below), I seem to get involved in quite a few different software development projects. I've been primarily focused on pet projects using Angular front-end, ASP.NET Core Entity Framework back-end, SQLite, and SQL Server.
However, I've also been doing quite a bit of skill-building in React, Node.js, AWS Lambda, DynamoDB, PostgreSQL, mySQL, and some nice css libraries like MUI and Tailwind.css.
I was doing this work across a combination of my old 2015 MacBook Pro laptop, and an older Powerspec desktop running Windows 10. On the Mac I would run Visual Studio Code and use GitHub to check everything in and then if I wanted, fetch and run it on the desktop. So I would do most of the front-end work on the Mac in VS Code.
On the desktop, I would run Visual Studio 2022 Community Edition and do most of the back-end work there. I also started using Docker Desktop more to organize all the database stuff and other installs. So, I would spin up a SQL Server container when I need it, or mySQL, or PostgreSQL, as needed.
Time to Consolidate
My setup of the new MacBook Pro M1 went great. I got a great deal on a 2021 M1 chip MacBook Pro with 16GB RAM and 512GB SSD. Not a beast by any means but compared to what I had been using - awesome!
I had a 15" display and the new laptop is 14", but it's really not a big deal. The retina display is awesome and seems better than what I had. The sound is actually better which I find surprising. And once I got the Ivanky docking station set up, I now have 3 displays - the 2 big screens from my old desktop, and my laptop display.
My desktop is also getting pretty old - it's at least 6 years old now. So I decided to install Parallels and run it through a trial and see what it might be like to actually run all the Windows stuff I need on the new MacBook Pro M1 alongside everything else.
My goal is to be able to do all of the following:
- run VS Code on the Mac - I just like the "feel"
- run VS 2022 Community Edition on Windows - it works better than VS 2022 on the Mac - I've played with it and it's just not the same
- have the Mac for doing any skill-building/projects for native IOS
- have Windows for doing any skill-building/projects for .NET or for playing with cross-platform tools like Xamarin
- have Windows 11 in case I need the real environment for Office and such
- be able to run Docker Desktop on Mac or Windows and test on each
- get onto some newer equipment before my older equipment stops working!
That's not so much to ask, now is it?!
Parallels - My Findings
Here's a dump of what I did, and my general findings as it relates to actual and perceived Parallels performance on my MacBook Pro M1 16GB 512GB.
To get started, do the usual process of downloading, allowing permissions, running the dmg... it will ask you a LOT of permissions as it needs access to various folders throughout the install process.
Install Windows 11
Parallels makes it very easy to install Windows 11 at the same time - also a trial license until you purchase.
And once the full Windows 11 install is complete, you can create your Parallels account and start doing something!
Of course, you'll want to also install the latest Windows 11 updates before going too much further:
Grab Some Benchmarks
I wanted to grab some actual and perceived benchmarks. So, I used Novabench to do benchmarks. It's a nice free benchmarking tool that can also compare your benchmarks to a lot of other computers.
So I installed Novabench on my old desktop and ran it, and I installed it in my Parallels Windows 11 install and ran it.
Here's the summary score from my old desktop. Note that my old desktop has a decent video card in it (used to do some gaming on it years ago) which helps the score for sure. So as shown below, a Novabench score of 2409 for that old i7 with 16GB and a GTX 1080 graphics card.
Here's a snapshot of the Parallels configuration I tweaked for Windows 11. This is NOT the default, and also not optimized by any means. I increased both the processor and the memory to be something I felt applicable when I'd be using Windows 11 on my Mac. In general, I'll either be using the Mac, or Windows, but don't need both hard-core at the same time. So I am giving Windows 11 6 processors and 12GB.
And drum-roll... the Novabench score for Windows 11 running in Parallels on my 2021 MacBook Pro M1 without a lot of optimization is: not that impressive :(
You can see that I ran it once right after install and got a 564 score. Then I tweaked the processor and memory and got the 838 score.
Actual Benchmarks Summary
So the actual benchmarks running Windows 11 in Parallels on my 2021 MacBook Pro M1 laptop, compared to my older i7 Desktop computer running 16GB memory, are not that impressive at first sight.
I mean, a score of 838 compared to 2409 is a big difference!
Granted, 1035 of the score is the GPU score and the Mac had a big 0 there which I don't care about. But if you look at the CPU and RAM and Disk scores, it's a little more interesting.
The CPU score was way low for Windows 11 in Parallels, which I suppose isn't that surprising. I mean there's a lot going on here: the Mac running Parallels running Windows 11 - and that's the easy high-level explanation.
The RAM score was actually higher for Windows 11 in Parallels than it was for the old desktop.
The Disk score was actually significantly higher for Windows 11 in Parallels than it was for the old desktop - by about 3x.
So what does all this mean?
Well, it's not an apples to apples comparison for sure. But when you dig in a little bit to what those numbers mean, the Windows 11 performance under Parallels on the MacBook Pro M1 is actually more impressive than I first thought when I saw the numbers.
RAM and Disk scores are actually better than on my old computer. And GPU score I don't care about because I'll be doing software development and not gaming or crypto mining.
So the big question will be - do I FEEL a difference in the software development experience from my old desktop to Windows 11 under Parallels due to the low CPU score?
Does It Feel Better Or Worse In Parallels Windows 11?
We're down to the final piece. The benchmarks showed actual numbers. Feel free to use Novabench and run your own computer(s) to compare their scores.
The numbers I ran, comparing against my old development machine, were at first unimpressive but upon further review actually pretty darn good.
So now we're down to this: does the lower CPU score as recorded by Novabench, convert to an actual noticeable difference doing software development in say Visual Studio 2022 in Parallels Windows 11 versus my old i7 desktop computer?
Some Angular Build Tests
I don't have a lot of larger code bases installed yet on the Parallels Win 11 machine. So I did a few tests using Angular since it can take a bit of time to do initial builds.
- Initial 'ng build' on i7 desktop (remoted in to do it): 22 seconds
- Initial 'ng build' on Parallels Win11 machine (full-screen): 40 seconds
- Subsequent 'ng build' on i7 desktop: 4.5 seconds
- Subsequent 'ng build' on Parallels Win11 machine: 13.5 seconds
So when it comes to flat-out compiles, I can tell a difference for sure.
Click Here for more info and how to watch a free video preview.
What it FEELS Like In Visual Studio
Then I pulled up VS Code and Visual Studio and did some playing around.
In VS Code, I:
- installed a bunch of extensions
- generated some default apps and moved around the code testing keystrokes
- used menus, copy/paste, various snippets... all-day dev IDE activities
In Visual Studio, I:
- installed a default ASP.NET Core Web API solution
- moved around the code testing keystrokes
- built, ran, used swagger... all-day dev IDE activities
In the end, I FELT like I was in full Windows doing development work. I didn't notice any keyboard lag. I didn't FEEL like I was remoted in to another machine and would get some interruption at any time. It was a totally doable development experience.
Will I Purchase Parallels And Consolidate?
So will I do it? Will I consolidate my Mac and Windows work onto the MacBook Pro M1 using Parallels and quit using the old MacBook Pro and the old desktop computer?
Yes I will. Despite the compile times being slower on the Mac when running Win 11 under Parallels, it's not a deal-breaker at all and the benefits outweigh the negatives.
- battery going out on old MacBook Pro so have to move on
- desktop will be going out at some point so need a Windows backup when it happens
- not sure how much Mac vs Win native dev I'll be doing - this gives me access to both without spending a lot more money until I have good reason to
- with Parallels, I can run Win 11 at any time, without rebooting, in full-screen or windowed mode, alongside whatever else I need to be doing at the time on the Mac
- I can still RDP in to my old desktop for as long as it keeps working, so I'll use it to run Docker containers with the images stored somewhere else. When it dies, I can run those containers where else I need - AWS, Azure, even on this Mac
- I can also run Davinci Resolve (video editing) and image editing software I use on the Mac so it's all in one place
- the CPU performance is not as good as my old i7 desktop - once I purchase Parallels Pro I'll have to see what options I might have to improve it
- KEYBOARD is my big issue right now! I like my old mechanical Ducky keyboard a lot and am using it on my Mac now. It's a pain going back and forth between what the Mac OS supports and what Windows supports.
For example I'm a big fan of using the 10-key numeric keypad for navigation when coding. The Mac OS doesn't even recognize those keys as arrow keys. I may look at Karabiner-Elements to do some custom key mapping and get those keys working. Or I may just go to a Mac keyboard. I haven't decided
I'm not a shiny object kind of person. I don't chase after the latest greatest thing. This MacBook Pro M1 I just bought is a 2021 and I got a great deal on it ($400 off). I did it because I wanted to make sure I had something working and in place for both mac and windows work since both of those machines are old and going out.
Running Parallels and Windows 11 on this MacBook Pro M1 works really well. The benchmarks show better RAM and Disk performance than my old i7 desktop, but worse CPU performance. But given that it's running Windows 11 under Parallels on a MacBook Pro M1 with 16GB of memory, the experience is absolutely a good one for software development work.
I get the best of both worlds. Now if I can just find a happy place with the keyboard...