| ▲ | ok123456 4 days ago | |||||||
CreateProcessA() on Windows is very slow. A significant portion of the perceived speedup for development tasks is that fork() takes on the order of microseconds, but creating a Windows process takes ~50ms, sometimes several times that if DEP is enabled. This is VERY painful if you try to use fork-based multiprocessing programs directly. | ||||||||
| ▲ | magicalhippo 4 days ago | parent | next [-] | |||||||
I recently converted a large SVN repository to Git using git-svn. Started on Windows. After five days it failed for some reason so I had to rerun it (forgot an author or along those lines, trivial fix). Meanwhile I looked into why it was so slow, and saw git-svn spun up perl commands like crazy. Decided to spin up a Linux VM. After fixing the trivial issue it completed in literally a couple of hours. | ||||||||
| ||||||||
| ▲ | Krssst 4 days ago | parent | prev [-] | |||||||
Interesting, I wonder why DEP would degrade process creation performance. My understanding is it's just a flag in page table entries to forbid execution, I am not sure how this could impact performance so much (except that data and code now have to be mapped separately). | ||||||||