There now seems no doubt that, by any standards or comparisons, Apple’s first Apple Silicon Macs, its M1 models, are wickedly quick. Their one crucial performance area which isn’t as clear is their internal storage: I’ve seen a range of benchmark results which either set them on a par with T2-equipped Macs like my iMac Pro, or just seem puzzling.
One clear conclusion for the moment is that relative performance of M1 Macs depends on which benchmark you use. Blackmagic Disk Speed Test, available from the App Store, is now a Universal App, but returns read and write benchmarks of between 2.7 and 3.5 GB/s, which are very similar to those of a T2 model.
I’m very grateful to Jay, who alerted me to different figures being reported by ATTO Disk Benchmark (available on request from ATTO). Before showing those from an M1 model, this is a typical set of results from my iMac Pro:
Once read and write sizes exceed about 4 MiB, transfer speeds settle at around 2.8 GB/s for reads, and 3.4 GB/s for writes.
Results for my M1 Mac mini, with a 500 GB internal SSD, are very different. While writes stabilise at just under 4 GB/s, even at 64 MiB, reads are continuing to increase in speed, at just under 10 GB/s. Note that Blackmagic is normally run with ‘stress’ set at 5 GB. Those results are for a single stream; increase the number of streams to 4, and the results are even more curious.
Write speed has fallen fairly uniformly to around 2.5 GB/s, while read speeds have reached nearly 20 GB/s by a size of 24 MiB.
Those ATTO benchmarks look impressive, but do they make sense? It’s worth noting here that this app isn’t yet Universal, so runs with Rosetta 2 translation. Could that have an effect, perhaps? One potential problem is that the M1 uses a different Mach timebase from Intel processors. However, when apps are run using Rosetta, Mach times are expressed as if the app was running on an Intel processor, so that seems most unlikely to lead to potential error.
Faced with this apparent conflict, the only resort is to my own code. By a strange coincidence one of my unreleased utilities, Vandal, has a feature which creates files of arbitrary size and content. I therefore modified that to perform timed writes and reads of files of set sizes. Here are my initial results.
On my T2-equipped iMac Pro, writing a 10 MB file occurred at 1.8 GB/s, rising to 2.6 GB/s for 10 GB (a thousand times the size). Reading the same files delivered 6.2 GB/s for 10 MB, and 1.5 GB/s for 10 GB. Those results are broadly consistent with those found using Blackmagic.
On my M1 Mac mini, results were quite different. Writing occurred at 2.4 (10 MB) to 2.9 GB/s (10 GB), which is at the upper end of the T2’s performance, but reading was significantly faster at 10.8 (10 MB) falling to 3.1 GB/s (10 GB).
These suggest that the methods and settings used by the Blackmagic and ATTO benchmarks are sufficiently different as to result in such contrasting results. In limiting transfers to a maximum of 64 MiB size, the ATTO figures don’t give any information about performance when writing larger amounts, which is the performance area in which Blackmagic operates. Neither benchmark offers mixed writes and reads, nor random patterns which might better reflect real-world operation.
I think I feel another app coming on.