Thread (11 messages) flat view 11 messages, 6 authors, 2016-06-15

Re: [PATCH 0/2] Make gc a builtin.

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2016-06-15 22:42:59


On Tue, 13 Mar 2007, Jakub Narebski wrote:
Linus Torvalds wrote:
quoted
Another thing I find annoying (even as a UNIX user) is that whenever I do 
any tracing for performance data, shell is absolutely horrid. It's *so* 
much nicer to do 'strace' on built-in programs that it's not even funny.
Isn't that what GIT_TRACE was made for?
That just shows the high-level git commands.

If you look for performance issues or correctness issues (like when I 
tried to figure out if O_LARGEFILE was set for "git clone"), GIT_TRACE 
does nothing. You want to do "strace -f -o trace-file".

And shell scripts look horrible there, and make it much harder to follow 
things. In fact, it doesn't even need to be shell per se, but fork/exec 
already makes things harder to see, shell just tends to (a) make it even 
more so (try stracing though a shell startup, ugh) and (b) cause tons of 
fork/exec cases.

For example, when we made patch generation a built-in, it suddenly became 
*hugely* easier to follow what was going on in the traces, because it got 
much more streamlined. In general I find that "high performance" == "easy 
to trace".

		Linus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help