git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Jeff King <peff@peff.net>
Date
Aug 28, 2022, 12:50 UTC
Message-ID
<YwtkqmPSEikWPLv5@coredump.intra.peff.net>
In-Reply-To
<xmqqbks6ya5d.fsf@gitster.g>
On Fri, Aug 26, 2022 at 02:20:30PM -0700, Junio C Hamano wrote:
Show 15 quoted lines
> * 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@gmail.com>
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@peff.net>
---
 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
Previous: Johannes SchindelinNext: Junio C Hamano
Message 5 of 6 in “What's cooking in git.git (Aug 2022, #09; Fri, 26)”
  1. Junio C HamanoAug 26, 2022
  2. Philip OakleyAug 26, 2022
  3. Junio C HamanoAug 26, 2022
  4. Johannes SchindelinAug 29, 2022
  5. ac/bitmap-lookup-table, was Re: What's cooking in git.git (Aug 2022, #09; Fri, 26)Jeff King, Aug 28, 2022
  6. Junio C HamanoAug 29, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.