On Tue, Apr 03, 2018 at 06:00:05PM +0200, Johannes Schindelin wrote: > > But if we're at the point of creating custom C builtins for > > busybox/dash/etc, you should be able to create a primitive for "read > > this using buffered stdio, other processes be damned, and return one > > line at a time". > > Well, you know, I do not think that papering over the root cause will make > anything better. And the root cause is that we use a test framework > written in Unix shell. I'm not entirely convinced of this. My earlier numbers show that we spend a lot of time actually running Git. But that's not because we're written in shell, but because the stable interface to Git is running individual processes. So we can unit-test wildmatch or similar in a single C program, but I think we inherently need to run "git init" a lot of times. Now I think there's reason to doubt some of my numbers. I was counting exec's, and non-exec forks due to subshells, etc, may be important. So I claim only that I remain unconvinced that we are certain of the root cause. At any rate, I would be happy to see more study into this. If we can create a measurable speedup for an existing script, that might give us a blueprint for speeding up the whole suite. -Peff