Windows is slow to start processes

Windows has a fundamentally different design to Unix like operating systems like Mac OS X (FreeBSD core) and Linux which have very light weight fast mechanisms for spawning processes using fork().

https://stackoverflow.com/questions/47845/why-is-creating-a-new-process-more-expensive-on-windows-than-linux

So what implications does this have? Well it means that solutions that involve spawning processes that work fast on Linux and Mac OS X perform very slowly under windows.

For example - opening a postgres database connection is slow on Windows as we discovered with an internal project. We had to solve the problem by caching Postgres database connections to avoid the overhead of spawning new processes.

For a build system, spawning sub make processes will be slow. It’s better to figure out how to run the whole build process in a single make instance and take advantage of make parallelization.