ac/bitmap-lookup-table, was Re: What's cooking in git.git (Aug 2022, #09; Fri, 26)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 26, 2022 at 02:20:30PM -0700, Junio C Hamano wrote:

> * ac/bitmap-lookup-table (2022-08-26) 6 commits
>   (merged to 'next' on 2022-08-26 at 7914c141eb)
>  + bitmap-lookup-table: add performance tests for lookup table
>  + pack-bitmap: prepare to read lookup table extension
>  + pack-bitmap-write: learn pack.writeBitmapLookupTable and add tests
>  + pack-bitmap-write.c: write lookup table extension
>  + bitmap: move `get commit positions` code to `bitmap_writer_finish`
>  + Documentation/technical: describe bitmap lookup table extension
> 
>  The pack bitmap file gained a bitmap-lookup table to speed up
>  locating the necessary bitmap for a given commit.
> 
>  Will merge to 'next'?
>  cf. <Ywf01YqJKNsGfffx@nand.local>
>  source: <pull.1266.v6.git.1660496112.gitgitgadget@xxxxxxxxx>

We may want this on top:

-- >8 --
Subject: pack-bitmap-write: drop unused pack_idx_entry parameters

Our write_selected_commits_v1() function takes an array of
pack_idx_entry structs. We used to need them for computing commit
positions, but since aa30162559 (bitmap: move `get commit positions`
code to `bitmap_writer_finish`, 2022-08-14), the caller passes in a
separate array of positions for us. We can drop the unused array (and
its matching length parameter).

Likewise, when we added write_lookup_table() in 93eb41e240
(pack-bitmap-write.c: write lookup table extension, 2022-08-14), it
receives the same array of positions. So its "index" parameter was never
used at all.

Signed-off-by: Jeff King <peff@xxxxxxxx>
---
 pack-bitmap-write.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c
index 2cfc92f287..a213f5eddc 100644
--- a/pack-bitmap-write.c
+++ b/pack-bitmap-write.c
@@ -649,8 +649,6 @@ static const struct object_id *oid_access(size_t pos, const void *table)
 }
 
 static void write_selected_commits_v1(struct hashfile *f,
-				      struct pack_idx_entry **index,
-				      uint32_t index_nr,
 				      uint32_t *commit_positions,
 				      off_t *offsets)
 {
@@ -685,8 +683,6 @@ static int table_cmp(const void *_va, const void *_vb, void *_data)
 }
 
 static void write_lookup_table(struct hashfile *f,
-			       struct pack_idx_entry **index,
-			       uint32_t index_nr,
 			       uint32_t *commit_positions,
 			       off_t *offsets)
 {
@@ -808,10 +804,10 @@ void bitmap_writer_finish(struct pack_idx_entry **index,
 		commit_positions[i] = commit_pos;
 	}
 
-	write_selected_commits_v1(f, index, index_nr, commit_positions, offsets);
+	write_selected_commits_v1(f, commit_positions, offsets);
 
 	if (options & BITMAP_OPT_LOOKUP_TABLE)
-		write_lookup_table(f, index, index_nr, commit_positions, offsets);
+		write_lookup_table(f, commit_positions, offsets);
 
 	if (options & BITMAP_OPT_HASH_CACHE)
 		write_hash_cache(f, index, index_nr);
-- 
2.37.2.1039.gebf11fa8a3




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux