Re: [PATCH 2/2] Implement a simple delta_base cache
- From
Linus Torvalds <torvalds@linux-foundation.org>
- Date
- Mar 21, 2007, 02:37 UTC
- Message-ID
- <Pine.LNX.4.64.0703201922160.6730@woody.linux-foundation.org>
- In-Reply-To
- <45FFA5CB.1060700@sinister.cz>
On Tue, 20 Mar 2007, David Brodsky wrote:
> > And (hopefully) permanent http://steamer.kajka.koleje.cuni.cz/Eclipse
Ok, thanks, downloaded. Although the pack-file is just 1.7GB for me, not 3.7 like somebody said.
Anyway, doing a
git blame --incremental HEAD -- org.eclipse.debug.ui/plugin.xml > /dev/null
on that thing (picked a random file that got modified in a recent commit) took something like 12 seconds, so this is certainly a perfectly fine test-case.
Sadly, "git-gui blame" doesn't work in a bare git repository, so I had to do an ugly
ln -s . .git
to make git-gui happy, and that worked, and was pretty usable. Still, 12seconds should be something we can improve on.
And yeah, the profile is pretty horrid:
samples % app name symbol name 70307 20.9412 libc-2.5.so strlen 50925 15.1682 libz.so.1.2.3 (no symbols) 24295 7.2364 git tree_entry_interesting 19816 5.9023 libc-2.5.so memcpy 19569 5.8287 git tree_entry_extract 17693 5.2699 vmlinux memcpy_c 17032 5.0730 git assign_blame 16956 5.0504 git get_mode 12401 3.6937 git get_origin 11815 3.5191 git skip_uninteresting 10449 3.1123 git update_tree_entry 10359 3.0855 git find_pack_entry_one 7946 2.3667 git cmp_suspect 4572 1.3618 libc-2.5.so strncmp ...
so I guess we need to find some more strlen's to remove ;)
Linus