Skip to content

Enable Bloom filter support on WriteCommitGraph gRPC

Pavlo Strokov requested to merge ps-bloom-filter into master

The flag '--changed-paths' enables Bloom filter for the commit graph.

Closes: #3277 (closed)

I didn't find a way to verify the flag usage, so there are no changes into the test.
I did manual testing on the gitlab repository and got next results:

# no commit graph
$ time git log --oneline master -- file_hooks/examples/save_to_file.rb
fd5448ef0ab Add support for /file_hooks directory

real    0m1.073s
user    0m0.830s
sys     0m0.122s

# create commit graph without bloom filter
$ git commit-graph write --reachable
Expanding reachable commits in commit graph: 267920, done.
$ time git log --oneline master -- file_hooks/examples/save_to_file.rb
fd5448ef0ab Add support for /file_hooks directory

real    0m0.711s
user    0m0.590s
sys     0m0.109s

# create commit graph with bloom filter
$ rm .git/objects/info/commit-graph 
$ git commit-graph write --changed-paths --reachable
Expanding reachable commits in commit graph: 267920, done.
Computing commit changed paths Bloom filters: 100% (267920/267920), done.
$ time git log --oneline master -- file_hooks/examples/save_to_file.rb
fd5448ef0ab Add support for /file_hooks directory

real    0m0.269s
user    0m0.186s
sys     0m0.078s

So we got a speed boost for the commit search operations which is a goal here.

Edited by Pavlo Strokov

Merge request reports

Loading