I've used native Linux and WSL for years and am choosing a new setup for desktop use, local development, and access to a remote development server. I prefer macOS to Windows, but I'm concerned about macOS filesystem performance, especially with large repositories, worktrees, dependency-heavy projects, and C/C++ or Go builds. I've also heard that GNU utilities behave differently and that Apple's hardware upgrades are expensive.
One option is to buy a relatively inexpensive MacBook or Mac mini for daily use while putting most of the budget into a powerful headless Linux machine where the projects and heavier workloads would live. Another is to use macOS as the primary development environment. For people who have used both, do developers commonly build directly on macOS today? Are the filesystem and GNU-tool differences serious in practice, or are they mostly overstated?
5 Answers
Linux gives you the most control and usually the best value for a workstation. It’s especially attractive if you already know exactly which tools and desktop workflow you want. The downside is that drivers, desktop integration, commercial applications, audio, and other hardware-related details can require troubleshooting.
macOS tends to be easier when you want a stable general-purpose desktop and broad application support. I’d choose based less on theoretical benchmark numbers and more on whether your actual workload is dominated by local I/O, containers, or virtualization. If not, either platform can work well.
For web development involving Docker, Linux is usually faster and less finicky. macOS runs containers through a virtualized Linux environment, and file sharing between the host and containers can make large projects noticeably slower. If you build C, C++, or Go projects with lots of filesystem activity, Linux may also produce shorter build times.
On the other hand, macOS gives you excellent hardware, good third-party software support, and a polished desktop. If you value those things and your builds aren’t huge, the performance difference may not justify maintaining two machines.
I’ve used a MacBook for frontend work and GUI applications alongside a Linux workstation for backend work and server administration for years. For lighter local workloads, macOS has been stable and convenient, and I haven’t run into filesystem problems that affected my day-to-day work. The main tradeoffs are Apple’s expensive memory and storage upgrades, less flexibility, and a less natural experience if you rely heavily on Linux-style window managers or desktop customization.
I would avoid buying two systems solely because of something you heard about filesystem benchmarks. Try your real repositories and build commands on a Mac first if possible. Many developers build on macOS every day without trouble, while others working with massive monorepos or container-heavy workflows genuinely prefer Linux.
If you already want a remote Linux box for compute, GPUs, virtualization, or server parity, the two-machine plan makes sense. Otherwise, a well-specced Linux workstation will likely give you more performance per dollar and a simpler local development environment.
macOS is completely viable for development, and the filesystem issue is usually workload-dependent. You’ll notice it more with things like large dependency trees, container volumes, and builds that touch huge numbers of small files. For ordinary projects it’s generally an annoyance rather than a blocker. Homebrew’s GNU tools also cover most command-line differences, although you may still encounter occasional macOS-specific behavior.
If your projects and heavier services will already live on Linux, a Mac client plus a Linux server is a reasonable setup. Just make sure remote development won’t become a constant source of friction.
That setup works especially well if you use SSH, remote editor support, or containers. The filesystem limitations matter much less when the source tree and build process stay on Linux.

This is why I use Linux locally and keep a MacBook for travel and GUI-heavy work. It’s a good compromise, but the extra machine and remote workflow are only worthwhile if the Linux performance is important to you.