git svn show-ignore is excrutiatingly slow
- From
Adam Spiers <git@adamspiers.org>
- Date
- Oct 28, 2009, 17:43 UTC
- Message-ID
- <20091028174307.GA5691@atlantic.linksys.moosehall>
Something is badly wrong here ...
$ cd $svn_wd $ time svn propget -R svn:ignore >/dev/null svn propget -R svn:ignore > /dev/null 0.28s user 0.20s system 98% cpu 0.490 total $ cd $git_wd $ time git svn show-ignore > show-ignore.out git svn show-ignore > show-ignore.out 20.52s user 33.69s system 1% cpu 1:23:42.17 total
That's 10,000 times slower for what is effectively the same source tree! Admittedly the svn propget was a "warm" run and took longer the first time around, but even so there are several orders of magnitude difference.
I had a quick look at the code and it seemed to be doing the svn tree recursion itself via Git::SVN::prop_walk(), which might explain why. However I did not have time to dig deeper, so would welcome any ideas.
Thanks, Adam