Re: Drastic jump in the time required for the test suite
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- Oct 21, 2016, 11:03 UTC
- Message-ID
- <CACsJy8DDO_k-gtSj-Nbc9=DvTC1FFQRmc=OtTmh-c4rc=xC_+w@mail.gmail.com>
- In-Reply-To
- <1476996017.28685.10.camel@kaarsemaker.net>
On Fri, Oct 21, 2016 at 3:40 AM, Dennis Kaarsemaker <dennis@kaarsemaker.net> wrote:
Show 11 quoted lines
> 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