ref:main

perf: bitmap indexes (.bitmap) for reachability and pack generation #46

open Opened by cole.christensen@gmail.com

Links

No links yet.

Largest single clone-performance win available. .bitmap files store reachability bitmaps per commit, letting the packfile writer skip the reachability walk on clone.

Scope

  • Reader: load .bitmap alongside a pack, expose reachable_from(commit_sha).
  • Writer: produce .bitmap when writing a pack with --bitmap flag.
  • Integration: UploadPack.Writer uses bitmaps when present to pick objects for the output pack without walking the DAG.

Acceptance

  • A 100k-commit fixture clone goes from tens of seconds to under 1s with bitmaps vs without.
  • Interop: git client accepts the bitmap-generated pack; git verify-pack is happy.
  • Correctness: same object set as the naive walker for arbitrary want/have pairs.