Re: [PATCH 00/12] Integrating line-log and changed-path Bloom filters
From: Junio C Hamano <hidden>
Date: 2020-05-01 17:34:52
"Derrick Stolee via GitGitGadget" [off-list ref] writes:
This series is organized as follows: * Patches 1-4 are minor Bloom filter cleanups, including a documentation bug. * Patch 5 fixes a problem where the Bloom filters use much larger filters than expected. * Patch 6 fixes a bug related to the short-circuit of large diffs from e369698016 (diff: halt tree-diff early after max_changes, 2020-03-30). The condition for halting the diff computation is different than the check in bloom.c to see if that short-circuit was hit, which leads to some commits with large diffs getting an incomplete Bloom filter. This happened on the root commit of the Linux kernel repo, for example. ... I organized these patches so patches 1-6 could be split into its own topic, if beneficial to take earlier than the line-log changes.
Nice.
The end result of this combined effort is the following: git log -L commands feel much more responsive to a terminal user because Szeder's changes make the computation incremental, and they have better end-to-end performance because of the integration with Bloom filters to reduce time spent running tree diffs for TREESAME commits.
Nice, again.