Merge branch 'ps/reftable-iteration-perf-part2'
commit448a74e1515ca63bc0877a0461624d7beb1bec2e
authorJunio C Hamano <gitster@pobox.com>
Thu, 14 Mar 2024 21:05:23 +0000 (14 14:05 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 14 Mar 2024 21:05:23 +0000 (14 14:05 -0700)
treebddabd939ae62f10a5c4f4c1a3625737edee0c28
parent066124da88a6d43d125b30a1bc8a66c2d8ef6423
parent43f70eaea0e3fa9d98c895e9341674a67262b657
Merge branch 'ps/reftable-iteration-perf-part2'

The code to iterate over refs with the reftable backend has seen
some optimization.

* ps/reftable-iteration-perf-part2:
  refs/reftable: precompute prefix length
  reftable: allow inlining of a few functions
  reftable/record: decode keys in place
  reftable/record: reuse refname when copying
  reftable/record: reuse refname when decoding
  reftable/merged: avoid duplicate pqueue emptiness check
  reftable/merged: circumvent pqueue with single subiter
  reftable/merged: handle subiter cleanup on close only
  reftable/merged: remove unnecessary null check for subiters
  reftable/merged: make subiters own their records
  reftable/merged: advance subiter on subsequent iteration
  reftable/merged: make `merged_iter` structure private
  reftable/pq: use `size_t` to track iterator index
refs/reftable-backend.c