On Fri, Oct 21, 2016 at 3:40 AM, Dennis Kaarsemaker <dennis@xxxxxxxxxxxxxxx> wrote: > On Thu, 2016-10-20 at 08:31 -0400, Jeff King wrote: > >> I'm also not entirely convinced that the test suite being a shell script >> is the main culprit for its slowness. We run git a lot of times, and >> that's inherent in testing it. I ran the whole test suite under >> "strace -f -e execve". There are ~335K execs. Here's the breakdown of >> the top ones: > > You're measuring execve's, but fork (well, fork emulation. There's no > actual fork) is also expensive on windows iirc, so subshells add a lot > to this cost. shells fork on piping as well, and redirection and some other construct if I remember correctly (I attempted to port busybox ash to windows and had to find and "fix" all the forks) > That said, strace -eclone says that a 'make test' forks > ~408k times, and while this is significantly more than the amount of > execs in your example, this does include cvs and svn tests and it's > still in the same ballpark. -- Duy