SZEDER Gábor [off-list ref] writes:
There is certainly potential there. With a (very) rough PoC
experiment, a 8MB bloom filter, and a carefully choosen path I can
achieve a nice, almost 25x speedup:
$ time git rev-list --count HEAD -- t/valgrind/valgrind.sh
6
real 0m1.563s
user 0m1.519s
sys 0m0.045s
$ time GIT_USE_POC_BLOOM_FILTER=y ~/src/git/git rev-list --count HEAD -- t/valgrind/valgrind.sh
6
real 0m0.063s
user 0m0.043s
sys 0m0.020s
Even though I somehow sense a sign of exaggeration in [v] in the
pathname, it still is quite respectable.
bloom filter total queries: 16269 definitely not: 16195 maybe: 74 false positives: 64 fp ratio: 0.003934
But I'm afraid it will take a while until I get around to turn it into
something presentable...
That's OK. This is an encouraging result.
Just from curiousity, how are you keying the filter? tree object
name of the top-level and full path concatenated or something like
that?