On 2007-05-16 21:40:02 +0200, Karl Hasselström wrote: > On 2007-05-16 13:07:14 +0100, Catalin Marinas wrote: > > > I did a quick test of 'stg series' with the DAG patches applied, > > on a Linux kernel repository ('du -sh .git' is 285M) with 42 > > patches (only 25 applied). It constantly takes over 2 seconds to > > complete (compared to < 200ms without the DAG patches). The > > problem is that this delay will happen for bash completion as > > well. > > This is more than ten times as expensive as in my measurement. > Curious. And the algorithm is designed so that it shouldn't take > time proportional to the repository size, just proportional to the > number of patches. I set up a kernel repository with 100 applied and 100 unapplied patches: $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git $ cd linux-2.6/ $ stg init $ for ((i=0;i<200;i++)); do stg new p$(printf '%03d' $i) -m "Patch $i"; done $ stg goto p099 Then repeatedly: $ time stg series >/dev/null This gives times such as real 0m0.247s user 0m0.156s sys 0m0.060s real 0m0.147s user 0m0.088s sys 0m0.036s real 0m0.153s user 0m0.088s sys 0m0.032s real 0m0.144s user 0m0.104s sys 0m0.024s Tab completion also feels like it takes 0.1-0.2 seconds -- which it should, since it's implemented with series, applied, and unapplied, allow which do the same amount of work. But my kernel repository is _much_ smaller than yours: $ du -sh .git 183M .git Do you perchance have a bunch of loose objects in there? -- Karl Hasselström, kha@xxxxxxxxxxx www.treskal.com/kalle - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html