This repo aims to prove that something is wrong with APFS on macOS, but is also a good stress test in general when changing machine tooling that wants to oberve fs events (such as security tooling / EDR / virus scanners / etc).
The Test
Steps:
Setup Gather Results Report / PR with your Results ❤️
Setup
have node @ >= 22.11 have pnpm @ >= 10.2
(if you have proto (with auto-install) or volta installed, these versions will be selected for you)
git clone https://github.com/NullVoxPopuli/disk-perf-git-and-pnpm.git cd disk-perf-git-and-pnpm pnpm install # Fill the cache so we don't hit the network during testing
Gather Results
Since you've installed all the dependencies already, we can start with the clean test:
time ( git clean -Xfd ; git clean -fd )
Windows Powershell:
( Measure-Command { git clean - Xfd; git clean - fd }).ToString()
And then once that finishes, we can run the install test:
time ( pnpm install )
Windows Powershell:
( Measure-Command { pnpm install }).ToString()
If using zsh your time will be total . 0.01s user 0.00s system 94% cpu 0.007 total # . ^ this number and round to the tenths decimal place
if using bash your time will be real . real 2.02s # this number user 0.00s sys 0.01s and round to the tenths decimal place
How to find your disk info MacOS Apple Menu "About this Mac" (a window appears) "More Info..." (a window appears) scroll down and click "System Report..." (a window appears) in the left nav of this third window, click "NVMExpress"
PR your Results back to this Repo
and interact with the results here
Date CPU RAM (GB) Clean (s) Install (s) OS FileSystem Disk Notable Software Changes 2025-02-07 AMD Ryzen 5 7640U 12 Core 92 6.8 5.9 Ubuntu 24.04.1 Ext4 WD Black SN850 500GB 2025-02-24 AMD Ryzen 5 7640U throttle to ~550Mhz 92 56 44 Ubuntu 24.10 Ext4 WD Black SN850 500GB 2025-02-07 AMD Ryzen 9 7900X 12/24 Core 64 6.0 4.3 Ubuntu 24.04.1 Ext4 Samsung SSD 980 Pro 2TB 2025-02-07 AMD Ryzen 9 7900X 12/24 Core 64 3.3 4.0 Ubuntu 24.04.1 tmpfs (ramdisk) G.Skill F5-6000J3040G32G 2025-02-09 Apple M1 Pro 16 42.2 44.0 macOS 15.3 APFS (Encrypted) APPLE SSD AP0512R 500GB 2025-02-08 Apple M1 Max 64 31.5 44.2 macOS 14.7.3 APFS (Encrypted) APPLE SSD AP1024R 1TB 2025-02-08 Apple M4 16 29.6 31.4 macOS 15.2 APFS (Encrypted) APPLE SSD AP1024Z 1TB 2025-02-09 AMD Ryzen 7 7800X3D 8 Core 32 17.1 16.1 Ubuntu 22.04.3 Ext4 Corsair MP600 PRO LPX 2025-02-09 AMD Ryzen 7 7800X3D 8 Core 32 65.5 42.3 Windows 10 Pro 22H2 NTFS Corsair MP600 PRO LPX 2025-02-09 AMD Ryzen 5 7800X3D 8 Core 64 69.5 73.3 Windows 11 Pro 23H2 NTFS WD Black SN850x 2TB 2025-02-09 AMD Ryzen 5 7800X3D 8 Core 64 23.7 19.0 W11 Pro 23H2 / WSL2 / Ubuntu 24.04 Ext4 WD Black SN850x 2TB 2025-02-10 Intel i5-1145G7 8 Core 32 1.9 15.3 Debian Trixie Ext4 BC711 NVMe SK hynix 512GB 2025-02-12 Apple M1 Max 32 71.4 87.7 macOS 14.6.1 APFS (Encrypted) APPLE SSD AP2048R 2TB 2025-02-12 Apple M4 Pro (14 Cores) 48 30.1 65.1 macOS 15.3 APFS (Encrypted) APPLE SSD AP2048Z 2TB 2025-02-13 Apple M1 Ultra 64 45.2 137.5 macOS 15.3 APFS APPLE SSD AP1024R 1TB 2025-02-14 Apple M2 Max (6 vCPU) 16 3.2 12 Ubuntu 24.04 Ext4 APPLE SSD AP1024Z Parallels VM 2025-02-14 Apple M2 Max (6 vCPU) 16 2.8 11.9 Ubuntu 24.04 Ext4 LVM2 Encrypted APPLE SSD AP1024Z Parallels VM 2025-02-14 Apple M2 Max (6 vCPU) 16 1.6 10.7 Ubuntu 24.04 tmpfs (ramdisk) Hynix LPDDR5 / Virtual RAM Parallels VM 2025-02-15 Apple M1 Pro 32 44.5 50.2 macOS 15.3 APFS (Encrypted) APPLE SSD AP0512R 500GB 2025-02-19 Apple M1 16 37.8 33.3 macOS 15.3.1 APFS (Encypted) APPLE SSD AP0512Q 500GB 2025-02-19 Apple M1 Pro 16 59.4 69.1 macOS 14.7.3 APFS (Encrypted) APPLE SSD AP1024R 1TB 2025-02-21 Apple M3 16 36.23 30.3 macOS 15.3 APFS APPLE SSD AP0256Z 256GB 2025-02-20 Apple M4 Max (16 Cores) 128 36.7 64.5 macOS 15.2 APFS (Encrypted) APPLE SSD AP2048Z 2TB 2025-02-20 Apple M3 24 46.6 44.6 macOS ?? APFS APPLE SSD AP1024Z 1TB 2025-02-21 Intel Core i7 14700K (20 Cores) 64 3.1 13.8 W10 22H2 / WSL2 / Ubuntu 24.04 Ext4 WD Black 2TB SN850 2025-02-22 Apple M3 Pro 18 37.7 40 macOS 15.3 APFS APPLE SSD AP1024Z 1TB 2025-02-24 Apple M2 Pro 32 34.6 32.0 macOS 13.6 APFS APPLE SSD AP0512Z 2025-02-25 Apple M3 16 34.213 27.851 macOS 15.3.1 APFS APPLE SSD AP1024Z 2025-02-25 Apple M3 Pro (12 Core, 6p6e) 36 47.8 52.6 macOS 14.7.4 APFS APPLE SSD AP0512Z 500GB 2025-02-25 Apple M3 Pro (12 Core, 6p6e) 36 32 53.3 macOS 14.7.4 APFS APPLE SSD AP0512Z 500GB Spotlight disabled 2025-02-25 Apple M3 Pro (12 Core, 6p6e) 36 26.3 19.9 macOS 14.7.4 APFS APPLE SSD AP0512Z 500GB Spotlight disabled, csrutil disable 2025-02-26 Apple M2 Max (12 Core, 8p4e) 32 41.4 39.8 macOS 15.3.1 APFS (Encrypted) APPLE SSD AP1024Z 1TB Spotlight disabled, Kandji, SentinelOne 2025-02-26 Apple M4 Pro (14 Cores) (6 core vCPU) 6 2.5 16.9 Ubuntu 24.10 Ext4 Unencrypted APPLE SSD AP2048Z 2TB UTM VM 2025-02-28 Apple M2 Max (6 vCPU) 16 11.9 15.7 Ubuntu 24.04.2 Ext4 LVM2 Encrypted APPLE SSD AP1024Z Parallels VM, SentinelOne 2025-02-28 Apple M2 Max (6 vCPU) 16 9.1 13.3 Ubuntu 24.04.2 tmpfs (ramdisk) Hynix LPDDR5 / Virtual RAM Parallels VM, SentinelOne 2025-04-26 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz 32 103.98 116.62 macOS 15.4.1 APFS (Encrypted) Apple SSD AP1024N 2025-04-27 Apple M4 Pro (14 Core, 10p4e) 48 64.48 145.40 macOS 15.3.2 APFS (Encrypted) Apple SSD AP1024Z 2025-04-27 Apple M4 Pro (14 Core, 10p4e) 48 3.209 17.302 Ubuntu 24.04.2 btrfs Apple SSD AP1024Z Ubuntu machine running in OrbStack 2025-10-06 Apple M2 Max (12 Core, 8p4e) 32 46.730 54.603 macOS 15.5 APFS (Encrypted) Apple SSD AP1024Z 1TB Kandji, Code42, SentinelOne, tested in excluded directory
What to do for now?
If you're using macOS, and your file system performance is unbearable, there are some options: