[PATCH v3 0/7] pack-bitmap: permute existing namehash values
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Sep 17, 2021, 21:21 UTC
- Message-ID
- <cover.1631913631.git.me@ttaylorr.com>
- In-Reply-To
- <cover.1631049462.git.me@ttaylorr.com>
Here is a very small reroll of my series to permute values from an existing hash-cache when generating multi-pack reachability bitmaps.
The only changes since last time are a slightly modified version of the performance tests which don't time generating the pack-bitmap. And the new test in t5326 no longer has a redundant `git config pack.writeBitmapHashCache` since it is true by default.
It is based on the `tb/multi-pack-bitmaps` topic, which graduated to master. Thanks in advance for your review on this hopefully-final iteration :-).
Taylor Blau (7): t/helper/test-bitmap.c: add 'dump-hashes' mode pack-bitmap.c: propagate namehash values from existing bitmaps midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps p5326: create missing 'perf-tag' tag p5326: don't set core.multiPackIndex unnecessarily p5326: generate pack bitmaps before writing the MIDX bitmap t5326: test propagating hashcache values
Documentation/config/pack.txt | 4 +++ builtin/multi-pack-index.c | 21 +++++++++++++++ midx.c | 6 ++++- midx.h | 1 + pack-bitmap.c | 41 +++++++++++++++++++++++++----- pack-bitmap.h | 1 + t/helper/test-bitmap.c | 10 +++++++- t/perf/p5326-multi-pack-bitmaps.sh | 15 ++++++++--- t/t5326-multi-pack-bitmaps.sh | 30 ++++++++++++++++++++++ 9 files changed, 118 insertions(+), 11 deletions(-)
Range-diff against v2:
1: 4f2b8d9530 = 1: 4f2b8d9530 t/helper/test-bitmap.c: add 'dump-hashes' mode
2: 2cd2f3aa5e = 2: 2cd2f3aa5e pack-bitmap.c: propagate namehash values from existing bitmaps
3: f0d8f106c2 = 3: f0d8f106c2 midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps
4: a8c6e845ad = 4: a8c6e845ad p5326: create missing 'perf-tag' tag
5: 191922c8f2 = 5: 191922c8f2 p5326: don't set core.multiPackIndex unnecessarily
6: 040bb40548 ! 6: 59b6914ef8 p5326: generate pack bitmaps before writing the MIDX bitmap
@@ Commit message
we have to rely on a single-pack bitmap to generate those values for us. Therefore, generate a pack bitmap before the MIDX one in order to ensure
- that the MIDX bitmap has entries in its hash-cache.
+ that the MIDX bitmap has entries in its hash-cache. Since we don't want
+ to time generating the pack bitmap, move that to a non-perf test run
+ before we try to generate the MIDX bitmap.
+
+ Likewise, get rid of the pack bitmap afterwords, to make certain that we
+ are not accidentally using it in the performance tests run later on.Signed-off-by: Taylor Blau <me@ttaylorr.com>
## t/perf/p5326-multi-pack-bitmaps.sh ##
@@ t/perf/p5326-multi-pack-bitmaps.sh: test_expect_success 'create tags' '
+ git tag --message="tag pointing to HEAD" perf-tag HEAD
' ++test_expect_success 'start with bitmapped pack' '
++ git repack -adb
++'
++
test_perf 'setup multi-pack index' '
- git repack -ad &&
-+ git repack -adb &&
git multi-pack-index write --bitmap
' ++test_expect_success 'drop pack bitmap' '
++ rm -f .git/objects/pack/pack-*.bitmap
++'
++
+ test_full_bitmap
+
+ test_expect_success 'create partial bitmap state' '
7: fdf71432b3 ! 7: bb16125915 t5326: test propagating hashcache values
@@ t/t5326-multi-pack-bitmaps.sh: test_expect_success 'pack.preferBitmapTips' '
+ (
+ cd repo &&
+
-+ git config pack.writeBitmapHashCache true &&
-+
+ test_commit base &&
+ test_commit base2 &&
+ git repack -adb &&
--
2.33.0.96.g73915697e6