We put the latest M2‑based Macs through their paces with music benchmarks.
In the SOS June 2023 issue, we looked at the new M2 Max and Pro chips that are powering Apple’s latest generation of computers, and ran some general performance benchmarks on the latest M2 MacBook Pro and Mac mini models. But how do those machines perform with the music software that we use every day? We begin our testing with Logic Pro, which last year celebrated its 20th anniversary under Apple’s ownership, and which was, unsurprisingly, the first popular music and audio application to support Apple Silicon.
Logic Pro 10.6 shipped as a Universal Binary — a single application file containing versions for both Intel and Apple Silicon‑based architectures — and can seamlessly run Audio Units out of process that are written for Intel systems, which have yet to make the transition, whilst Logic Pro itself executes the latest Apple Silicon code. This approach is similar conceptually to the so‑called ‘bridges’ that were common during the 32‑ to 64‑bit transition over a decade ago, although Logic Pro’s implementation is transparent to the point where you probably wouldn’t initially realise what is actually happening.
Apple sometimes quote Logic Pro performance when comparing the abilities of newer Macs to earlier models, most recently for the late‑2021 introduction of the 14‑ and 16‑inch MacBook Pros, which were tested with a pre‑release version of Logic Pro 10.7.0, running a Project “consisting of multiple tracks, each with an Amp Designer plug‑in instance applied. Individual tracks were added during playback until CPU became overloaded.”
Sadly, this information hasn’t been updated for the new M2 Pro and M2 Max‑based models, so instead, I’ve used the tests described by Apple as the basis for my own, using the Amp Designer plug‑in as an insert and choosing the Britannica Crunch preset, as befitting myself.
Apple don’t specify whether they used mono or stereo tracks, so I decided to save myself some time by using stereo tracks, playing back a 44.1kHz/24‑bit audio file. In the interest of limiting the number of tracks to a somewhat sensible number, I used two instances of Amp Designer per track. Using one insert instance per track would have placed a greater burden on the way the audio engine schedules its processing across the available cores, so this was my attempt to balance the performance between scheduling and processing. It’s probably also more representative of real‑world usage, since it’s more common than not for tracks to have more than just a single insert.
Logic provides the user some control over how the application’s audio engine uses the available processing power, courtesy of the Processing Threads setting in the Audio Devices Preferences window. For Intel‑based Macs, which used processors with symmetric cores that all offered the same level of performance, this setting was relatively straightforward. If you had a 10‑core processor, you could set Processing Threads to ‘10’ and the audio engine would scale its workload evenly across the processor’s 10 CPU cores. And while this scaling wasn’t linear, such that setting the number of threads from five to 10 would double the performance, for example, it would allow Logic Pro’s audio engine to push the machine to the absolute maximum whilst juggling all the other threads required by the system to run the application, operating system, and everything else.
With Apple Silicon Macs, the Processing Threads setting behaves slightly differently, due to the asymmetric nature of the CPU cores designed for efficiency and performance. By default, Processing Threads is set to Automatic, meaning that Logic will choose the best option for balanced performance based on your Mac’s CPU resources. And while you can still set the number of Processing Threads, that number now determines whether the efficiency cores get used as well as the performance cores.
For example, on a 12‑core M2 Pro‑based system, with its eight performance and four efficiency cores, setting the number of Processing Threads between two and eight means only the performance cores get used, whereas setting this to 10 or 12 allocates either two or four efficiency cores as well. On the Mac mini, for example, I was able to play back 153 tracks with Processing Threads set to Automatic. Setting Processing Threads to use the maximum number of cores increased the performance of the audio engine substantially, making it possible to play back 232 tracks — a 50 percent improvement!
It’s tempting to conclude that the Processing Threads setting essentially behaves the same on Apple Silicon‑based Macs as it did on those with an Intel architecture, such that more cores equals more audio processing power, but such an outcome isn’t always the case. For example, if I reduced Processing Threads to use 10 cores (employing the same number of performance cores, but with two fewer efficiency cores) I got the same result of 232 tracks. And, based on the plug‑ins you’re using in your own Projects, you may find situations where the performance improves if you don’t include the efficiency threads in the processing pool.
With Processing Threads set to eight, such that only the eight performance cores are used, I was able to play back 212 tracks simultaneously; reducing the number of threads to six, four and two, it was possible to play back 168, 103 and 69 tracks simultaneously. Therefore, based on these results, I’d be inclined to restrict Logic’s audio engine to use only the performance cores as my default setting, and only experiment with adding the efficiency cores into the mix once the dreaded “System Overload.” alert appears — an alert so foreboding that it even includes a full stop in its title.
Moving along to offline performance, I used the Montero Spatial Project, which can be downloaded and opened from within the Demo Projects category in the New Project Template window. On the M2 Pro‑based Mac mini, the demo Project in question (which is 2:51, or 171 seconds in length) took 42 seconds to bounce. This is roughly twice as fast as performing the same operation on an iMac with an M1 processor, which took 83 seconds, and even marginally quicker than the 48 seconds it takes using either a previous‑generation 16‑inch MacBook Pro or current Mac Studio with an M1 Max chip.
However, it turns out that this isn’t the quickest time achievable when bouncing, since Logic’s offline processing uses the same configuration that’s set for real‑time processing in the Audio Devices Preferences window. This means that if the Processing Threads setting is set to use the lowest number of CPU cores, bouncing will take longer than if this setting is configured to use a higher thread count. So, on the same Mac mini, the same bounce took 114 seconds with Processing Threads set to two (a 170 percent increase), whereas I could achieve the bounce in 40 seconds if Processing Threads was set to use the maximum 12 cores.
This is worth remembering, since with Intel‑based Macs you’d probably leave the Process Threads setting left to the default, maximum number of CPU cores, whereas on an Apple Silicon Mac, the default, Automatic setting won’t give you the peak performance possible for offline rendering straight out of the box.
Steinberg introduced native support for Apple Silicon in Cubase 12, the current release version being 12.0.52 at the time of writing, although the Intel version of the application can of course still be used under Rosetta 2 should the need arise. One reason this might be useful is that, in the company’s quest to move past the VST 2 plug‑in technology they first introduced in 1999, Cubase 12 only supports VST 3 plug‑ins on Apple Silicon.
Although Cubase is a cross‑platform application, version 12 fully embraces many key Apple technologies to provide Mac users a first‑class experience, and perhaps the best example of this is in Steinberg’s support for Apple’s Metal hardware‑accelerated graphics framework for drawing the user interface, which was first introduced in Cubase 11. This enables the application to take full advantage of the GPU cores in presenting a fluid and responsive visual front end without having to burden the CPU cores, and it makes a significant impact on performance, as can you see in the iStatistica Pro screenshots. When running with Metal GPU‑based acceleration, Cubase required 58 percent less CPU resources for graphics processing at a given point in the playback of the Pop Demo Project included with version 12.
Moving on to audio performance, I recreated a similar test project to the one used for Logic Pro; however, since Cubase obviously doesn’t include Logic’s Pro’s Amp Designer, I turned to a similar plug‑in Steinberg include called VST Amp Rack, selecting the Big Clean Reverb preset. The reason for sticking with guitar‑amp simulations is because they generally employ convolution‑based filtering techniques that, if you’ll pardon the pun, amply put the CPU through its number‑crunching paces. Given the VST Amp Rack includes virtual effects pedals, which Logic Pro includes separately in its Pedalboard plug‑in and Stompbox collection, it therefore has a significantly higher CPU overhead than Amp Designer, although I also used two instances per track so as not to front‑load the scheduling carried out by the audio engine.
Unlike Logic Pro’s Processing Threads setting, Cubase doesn’t provide the user with an option to configure or constrain how many performance cores are employed, or to specify a balance between performance and efficiency clusters. However, there’s a good reason for not offering such a control, largely informed by a technology Steinberg brand as ASIO Guard.
ASIO Guard implements a ‘prefetch’ system, which, put simply, is a bit like your dog returning a stick to you before you’ve even thrown it. In the case of Cubase’s audio engine, ASIO Guard enables the system to look ahead from the current playback position and deploy any free processing resources to speculatively pre‑render audio as it might be needed.
With ASIO Guard disabled, the Mac mini could play 43 tracks. Cubase’s Audio Performance window, which has been overhauled for Cubase 12 to give the user more meaningful feedback as to the state of the audio engine, showed the Peak meter at maximum, while the Real Time meter hovered around the limit. Looking at the core usage in the htop interactive process viewer (https://htop.dev), it was interesting to note that only the performance cores were being throttled to around 85 to 91 percent; utilisation of the efficiency cores ranged from 14 to 28 percent.
Enabling ASIO Guard, with the Level set to Normal, changed the system usage dramatically. The load on the performance cores reduced to between 64‑78 percent usage, while the load on the efficiency cores increased to around 59 to 64 percent.
Steinberg don’t explain the inner workings of ASIO Guard or detail how Cubase divides its workload between efficiency and performance cores, but these results suggest that ASIO Guard uses the efficiency cores to handle lookahead processing, whilst prioritising the performance cores for real‑time work. This seems like an elegant way of exploiting Apple Silicon’s heterogenous architecture in Cubase’s audio engine.
Keeping the ASIO Guard Level set to Normal, the maximum track count increased to 60 tracks (and thus 120 instances of VST Amp Rack). Meanwhile, setting the Level to Low and then High resulted in track counts of 55 and 68 respectively.
One slight anomaly I discovered when I first started testing is that the Cubase.app Universal Application bundle still defaults to running the Intel binary under Rosetta translation when performing a new installation on a clean system. But this ultimately led to an unexpected observation, which was that my relatively basic test project performed better with Cubase running under Rosetta than natively under Apple Silicon.
You can’t just assume every plug‑in from every developer will run more efficiently on newer, M‑series Macs.
However, rather than uncovering any weakness with Cubase’s audio engine when running on Apple Silicon, what this anomaly illustrates is that VST Amp Rack isn’t particularly well optimised for Apple Silicon. And this highlights an inconvenient truth: you can’t just assume every plug‑in from every developer will run more efficiently on newer, M‑series Macs. Code optimisations made for Intel chips won’t necessarily be equally efficient when running on a completely different architecture, and it would be relatively trivial to hand‑optimise something for x86 that created a bottleneck on ARM and vice versa, particularly when implementing the type of convolution filters used by plug‑ins like VST Amp Rack.
Concluding with an offline test, using Cubase’s Audio Export function, I ran into some similar unexpected behaviour. Running either the Apple Silicon version of Cubase natively or the Intel binary under Rosetta 2, one of the two demo songs included with Cubase 12 — the Mixed version of the Mendek Bij De Leji demo project — took 12 seconds to export offline using either the M2 Pro‑equipped Mac mini and 14‑inch MacBook Pro, or my older M1 Pro‑based MacBook Pro.
In many ways, the success of Rosetta 2 — Apple’s binary translation software allowing Intel applications and plug‑ins to run out of the box on M‑series Macs — has been both a blessing and a curse. It has allowed even demanding music and applications to run unbelievably well, with perhaps a 30 percent overhead compared with the same software running natively; but, in doing so, it has arguably permitted certain third‑party developers to not make native Apple Silicon compatibility their highest development priority.
It took a while but, at the end of last year, Avid released a public beta of Pro Tools for Apple Silicon, with many of the usual caveats existing users will have previously faced in the adoption of newer systems. For example, many features aren’t currently available, including MP4 Export, AAC Import, and the Score editor, while others will be no longer be supported, such as ICON, C24 and Control 8 control surfaces.
In terms of third‑party compatibility, though, Avid have at least been shepherding developers towards the goal of ensuring native AAX plug‑ins are available. This means the vast majority of third‑party AAX plug‑ins can be used with Apple Silicon, as detailed on Avid’s online Knowledge Base.
For testing, I once again recreated a similar Session to the examples used for Cubase and Logic Pro, although this time just using one instance of Eleven Lite (with the default preset) on a stereo audio track playing back the same file. With Pro Tools running natively on the M2 Pro‑based Mac mini it was possible to play back 52 tracks simultaneously, a healthy improvement over the 18 tracks that could be played back in the same session with Pro Tools running under Rosetta 2. Still, 52 instances of a ‘lite’ version of a 14‑year‑old plug‑in isn’t a staggering result. Again, this points to Eleven Lite not being astonishingly efficient under ARM. And I don’t think it’s a coincidence that both Steinberg’s VST Amp Rack and Eleven Lite make heavy use of convolution filters (and, unlike Logic Pro’s Amp Designer, are required to be cross‑platform).
Moving along to a real‑world example, rather than use a demo song Avid include with Pro Tools, I decided instead to focus on one of my preferred ‘real‑world’ test sessions: the final mix session of Netflix’s Sol Levante, the first 4K HDR Atmos anime short. Netflix make the Pro Tools Session (including assets such as the video content) available as part of the company’s Open‑Source Content program (https://opencontent.netflix.com), which aims to provide a common reference for testing and prototyping new technologies.
When I reviewed the Mac Studio in the SOS May 2022 issue, I was dismayed that this otherwise extraordinarily powerful Mac was unable to play back the Sol Levante session without reducing the number of insert effects, although this was admittedly before the Apple Silicon version of Pro Tools was made available. So, I was simultaneously impressed and relieved to witness the new, M2 Pro‑equipped Macs handle this session natively with ease, even running alongside Dolby’s Atmos Renderer (which still requires Rosetta 2).
As a further footnote to this performance, now that Pro Tools is running natively on Apple Silicon, a Mac Studio equipped with an M1 Max can now play back the Sol Levante final mix session just fine; and even the base, 13‑inch MacBook Pro with an M2 and 8GB of unified memory can perform this feat. What a difference a year — or should that be, a native version of Pro Tools — makes!
An offline bounce of the 4:51 Sol Levante final mix session on the Mac mini with M2 Pro took just 42 seconds. This is a 40 percent improvement over the same bounce with Pro Tools running under Rosetta 2, which took 72 seconds.
Although the Intel‑based Mac mini has remained useful, thanks to its upgradable memory and ability to boot Windows natively, by delivering the new Mac mini in two distinct M2‑series configurations Apple have made it both more affordable and more powerful for those who don’t require the pricier Mac Studio. The basic M2‑based Mac mini starts at just $599£649 ($100£50 cheaper than before), bringing this particular Mac closer to its roots as “the most affordable Mac ever”.
When it comes to choosing a MacBook Pro, after living with both 14‑ and 16‑inch MacBook Pros for over a year, there’s something about the 14‑inch’s form factor that I really like. The 16‑inch has a desirably larger display, but the extra dimensions and mass make it less encouraging to carry around on a day‑to‑day basis. So, my own recommendation would be to go with the 16‑inch MacBook Pro if you want a desktop replacement, but to choose the 14‑inch model instead if you want something more comfortably portable.
However, while these new Mac mini and MacBook Pro models are highly desirable in almost every way, if I did have to muster some criticism, it would centre on two points. Firstly, as highlighted in last month’s article, the performance of the internal storage used in the base models of both the Mac mini and MacBook Pro is a little disappointing. And the reason I mention this again is because the slower storage can adversely affect the overall system performance, particularly in models with less unified memory, meaning those with lower‑end systems might have more of a business class experience rather than flying in first.
If one considers the price of the base Mac mini model, this is perhaps less of an issue, as you’d perhaps expect a few trade‑offs to achieve the lower cost. But that this should be an issue with the base MacBook Pro model is a little harder to justify. And, on the subject of pricing, given that Apple Silicon Macs must be fully configured at the time of purchase, the cost of a system, including all the memory and internal storage you might require over the lifetime of the product, can quickly add up to an expensive purchase.
On balance, though, it’s perhaps rather easy to take Apple’s latest Mac mini and 14‑ and 16‑inch MacBook Pros for granted. After all, the first round of Macs based on Apple Silicon made a profound impact, providing astonishing performance with an energy efficiency that took many by surprise. For creative professionals — and musicians and audio engineers in particular — everything about the M1‑series Macs was just, well, better. And so, it’s perhaps not surprising that the new M2‑series Macs sensibly build on these foundations, refining, polishing, and pushing the performance envelope without sacrificing an economic use of power.
To evaluate the performance of the new Mac mini and MacBook Pro models, I had similarly specified M2 Pro‑based models available for testing (each 12‑core systems with 32GB memory, see ‘Test Spec’ box). In order to make comparisons with previously released systems, I also used a base model 13‑inch MacBook Pro (equipped with an M2), a 14‑inch MacBook Pro with an M1 Pro (the previous base model for this configuration), a 16‑inch MacBook Pro and Mac Studio (with the same M1 Max configuration featuring 64GB memory), and a 27‑inch iMac (the Intel‑based iMac with a 10‑core i9 processor, 64GB memory). All systems were running Mac OS Ventura (version 13.2.1).
Each Mac was tested using its own built‑in hardware via Core Audio, clocked internally at 44.1kHz with a buffer size of 256 samples. And default settings were used in each application unless otherwise specified.
Finally, in addition to the usual real‑time performance tests, I also decided to include some offline tests. Because while being able to run a large number of effects and instruments is obviously vital to modern production, being able to quickly perform an offline bounce is also valuable and should be a great way to test peak performance. In an ideal world, where real‑time processing only needs to be able to perform enough computation within a given window of time — as dictated by the size of the audio buffer — the perfect offline process should, at least in theory, reveal something about the absolute peak performance of a system given that it can process as much data as it wants as fast as possible.
Mac mini from £649, MacBook Pro from £1349. Prices include VAT.
Mac mini from $599; MacBook Pro from $1299.
- Apple Mac mini with M2 Pro (12 CPU cores, 19 GPU cores), 32GB unified memory, 1TB SSD, and 10G Ethernet.
- Apple 14‑inch MacBook Pro with M2 Pro (12 CPU cores, 19 GPU cores), 32GB unified memory, and 2TB SSD.
- Tested with Mac OS Ventura (13.2.1) and Apple Studio Display.