git-annotate efficiency
- From
- Morten Welinder <mwelinder@gmail.com>
- Date
- Feb 24, 2006, 15:37 UTC
- Message-ID
- <118833cc0602240737i42acdc90sb8f93dde1a1bc035@mail.gmail.com>
So I wanted to give git-annotate a spin and typed...
git annotate Makefile
Bad idea. It's been ten minutes and no output yet. While the script only appears to use ~20% of cpu according to top, an strace shows that it spins off a huge number of very short-lived subprocesses.
Morten
... rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0 waitpid(1539, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 1539 --- SIGCHLD (Child exited) @ 0 (0) --- rt_sigaction(SIGHUP, {SIG_DFL}, NULL, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL}, NULL, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL}, NULL, 8) = 0 pipe([3, 4]) = 0 pipe([5, 6]) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x401db708) = 1540 close(6) = 0 close(4) = 0 read(5, "", 4) = 0 close(5) = 0 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfffc718) = -1 EINVAL (Invalid argument) _llseek(3, 0, 0xbfffc760, SEEK_CUR) = -1 ESPIPE (Illegal seek) fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 read(3, "diff --git a/Makefile b/Makefile"..., 4096) = 63 read(3, "--- a/Makefile\n+++ b/Makefile\n@@"..., 4096) = 203 --- SIGCHLD (Child exited) @ 0 (0) --- read(3, "", 4096) = 0 close(3) = 0 rt_sigaction(SIGHUP, {SIG_IGN}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0 ...