Merge branch 'ps/reftable-iteration-perf'
The code to iterate over refs with the reftable backend has seen some optimization. * ps/reftable-iteration-perf: reftable/reader: add comments to `table_iter_next()` reftable/record: don't try to reallocate ref record name reftable/block: swap buffers instead of copying reftable/pq: allocation-less comparison of entry keys reftable/merged: skip comparison for records of the same subiter reftable/merged: allocation-less dropping of shadowed records reftable/record: introduce function to compare records by key
This commit is contained in:
@ -14,20 +14,9 @@ https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
int pq_less(struct pq_entry *a, struct pq_entry *b)
|
||||
{
|
||||
struct strbuf ak = STRBUF_INIT;
|
||||
struct strbuf bk = STRBUF_INIT;
|
||||
int cmp = 0;
|
||||
reftable_record_key(&a->rec, &ak);
|
||||
reftable_record_key(&b->rec, &bk);
|
||||
|
||||
cmp = strbuf_cmp(&ak, &bk);
|
||||
|
||||
strbuf_release(&ak);
|
||||
strbuf_release(&bk);
|
||||
|
||||
int cmp = reftable_record_cmp(&a->rec, &b->rec);
|
||||
if (cmp == 0)
|
||||
return a->index > b->index;
|
||||
|
||||
return cmp < 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user