summaryrefslogtreecommitdiff
path: root/t/t4013/diff.format-patch_--attach_--stdout_initial..master
diff options
context:
space:
mode:
authorLibravatar Ben Peart <benpeart@microsoft.com>2018-10-10 11:59:38 -0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-10-11 15:32:48 +0900
commit77ff1127a4ca340fb9e81861a9851b0c3701bdc1 (patch)
treee8609ce68976f016703ab21c9e3123a0c8537440 /t/t4013/diff.format-patch_--attach_--stdout_initial..master
parentieot: add Index Entry Offset Table (IEOT) extension (diff)
downloadtgif-77ff1127a4ca340fb9e81861a9851b0c3701bdc1.tar.xz
read-cache: load cache entries on worker threads
This patch helps address the CPU cost of loading the index by utilizing the Index Entry Offset Table (IEOT) to divide loading and conversion of the cache entries across multiple threads in parallel. I used p0002-read-cache.sh to generate some performance data: Test w/100,000 files reduced the time by 32.24% Test w/1,000,000 files reduced the time by -4.77% Note that on the 1,000,000 files case, multi-threading the cache entry parsing does not yield a performance win. This is because the cost to parse the index extensions in this repo, far outweigh the cost of loading the cache entries. The high cost of parsing the index extensions is driven by the cache tree and the untracked cache extensions. As this is currently the longest pole, any reduction in this time will reduce the overall index load times so is worth further investigation in another patch series. Signed-off-by: Ben Peart <benpeart@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4013/diff.format-patch_--attach_--stdout_initial..master')
0 files changed, 0 insertions, 0 deletions