git/reftable
Patrick Steinhardt 6620f9134c reftable/record: reuse refname when copying
Do the same optimization as in the preceding commit, but this time for
`reftable_record_copy()`. While not as noticeable, it still results in a
small speedup when iterating over 1 million refs:

  Benchmark 1: show-ref: single matching ref (revision = HEAD~)
    Time (mean ± σ):     114.0 ms ±   3.8 ms    [User: 111.1 ms, System: 2.7 ms]
    Range (min … max):   110.9 ms … 144.3 ms    1000 runs

  Benchmark 2: show-ref: single matching ref (revision = HEAD)
    Time (mean ± σ):     112.5 ms ±   3.7 ms    [User: 109.5 ms, System: 2.8 ms]
    Range (min … max):   109.2 ms … 140.7 ms    1000 runs

  Summary
    show-ref: single matching ref (revision = HEAD) ran
      1.01 ± 0.05 times faster than show-ref: single matching ref (revision = HEAD~)

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-03-04 10:19:49 -08:00
..
basics.c reftable/stack: use size_t to track stack length 2024-02-06 12:10:08 -08:00
basics.h reftable/stack: use size_t to track stack length 2024-02-06 12:10:08 -08:00
basics_test.c
block.c Merge branch 'ps/reftable-iteration-perf' 2024-02-26 18:10:24 -08:00
block.h
block_test.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
blocksource.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
blocksource.h
constants.h
dump.c
error.c
generic.c
generic.h
iter.c reftable/merged: remove unnecessary null check for subiters 2024-03-04 10:19:39 -08:00
iter.h reftable/merged: remove unnecessary null check for subiters 2024-03-04 10:19:39 -08:00
LICENSE
merged.c reftable/merged: avoid duplicate pqueue emptiness check 2024-03-04 10:19:40 -08:00
merged.h reftable/merged: make merged_iter structure private 2024-03-04 10:19:30 -08:00
merged_test.c Merge branch 'ps/reftable-styles' 2024-02-12 13:16:10 -08:00
pq.c reftable/merged: make subiters own their records 2024-03-04 10:19:39 -08:00
pq.h reftable/merged: make subiters own their records 2024-03-04 10:19:39 -08:00
pq_test.c reftable/merged: make subiters own their records 2024-03-04 10:19:39 -08:00
publicbasics.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
reader.c Merge branch 'ps/reftable-iteration-perf' 2024-02-26 18:10:24 -08:00
reader.h
readwrite_test.c Merge branch 'ps/reftable-styles' 2024-02-12 13:16:10 -08:00
record.c reftable/record: reuse refname when copying 2024-03-04 10:19:49 -08:00
record.h Merge branch 'ps/reftable-iteration-perf' 2024-02-26 18:10:24 -08:00
record_test.c reftable/record: improve semantics when initializing records 2024-02-06 12:10:09 -08:00
refname.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
refname.h
refname_test.c
reftable-blocksource.h
reftable-error.h
reftable-generic.h
reftable-iterator.h
reftable-malloc.h
reftable-merged.h reftable/stack: use size_t to track stack length 2024-02-06 12:10:08 -08:00
reftable-reader.h
reftable-record.h reftable/record: reuse refname when decoding 2024-03-04 10:19:40 -08:00
reftable-stack.h
reftable-tests.h
reftable-writer.h
stack.c Merge branch 'ps/reftable-styles' 2024-02-12 13:16:10 -08:00
stack.h reftable/stack: index segments with size_t 2024-02-06 12:10:08 -08:00
stack_test.c Merge branch 'ps/reftable-styles' 2024-02-12 13:16:10 -08:00
system.h
test_framework.c
test_framework.h
tree.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
tree.h
tree_test.c
writer.c Merge branch 'ps/reftable-styles' 2024-02-12 13:16:10 -08:00
writer.h