The macOS IO benchmark and pgbench (also IO) makes me think macOS cheats somehow, for example it doesn't actually cause the SSD to write to flash when the app performs fsync, and some other "optimizations".
Has IO through the hypervisor improved on macOS? Last I tried, the `./node_modules` directory absolutely destroyed the ability for me to use Docker as a development environment on my macOS workstations for Rails development, even with the special caching flags enabled.
A lot has change since then, like I stay away from node and `./node_modules` as much as possible via importmaps, but even then the FS performance wasn't enough for my needs.
I do dev work on mostly node/web projects that use npm. Pretty much everything I do involves docker. I typically write a docker file that copies package.json/package-lock.json into the image, then run npm install. That way the rebuild cycle is fast if the package.json file doesn't change and the node_modules are inside the container. Then I bind-mount all the src files that I'm working on so that live reload will work.