aboutsummaryrefslogtreecommitdiff
path: root/bundle.h
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2015-04-16 04:58:54 -0400
committerJunio C Hamano <gitster@pobox.com>2015-04-16 08:15:05 -0700
commitf80c153bea4e0ea86f5b6d32e77df0b69501ee18 (patch)
treecc4486dc531f676cf884dee2bb962092b840a4a4 /bundle.h
parentfec501dae8bf6c8fdcd4124c94f37c4cbc26ba29 (diff)
downloadgit-f80c153bea4e0ea86f5b6d32e77df0b69501ee18.tar.gz
git-f80c153bea4e0ea86f5b6d32e77df0b69501ee18.tar.xz
strbuf_getwholeline: avoid calling strbuf_grow
As with the recent speedup to strbuf_addch, we can avoid calling strbuf_grow() in a tight loop of single-character adds by instead checking strbuf_avail. Note that we would instead call strbuf_addch directly here, but it does more work than necessary: it will NUL-terminate the result for each character read. Instead, in this loop we read the characters one by one and then add the terminator manually at the end. Running "git rev-parse refs/heads/does-not-exist" on a repo with an extremely large (1.6GB) packed-refs file went from (best-of-5): real 0m10.948s user 0m10.548s sys 0m0.412s to: real 0m8.601s user 0m8.084s sys 0m0.524s for a wall-clock speedup of 21%. Helped-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'bundle.h')
0 files changed, 0 insertions, 0 deletions