aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/pom.xml
diff options
context:
space:
mode:
authorMartin Fick <mfick@nvidia.com>2024-12-04 09:33:00 -0800
committerMatthias Sohn <matthias.sohn@sap.com>2024-12-19 21:59:48 +0100
commit1177e1e4a9b6fa52f4e40fe961263cd510114f81 (patch)
tree972a7f66797dfc08f739e371f16c6b48ff6e3897 /org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/pom.xml
parent105a313eadf1ff2e74dd6642079f3cce9c1f7983 (diff)
downloadjgit-1177e1e4a9b6fa52f4e40fe961263cd510114f81.tar.gz
jgit-1177e1e4a9b6fa52f4e40fe961263cd510114f81.zip
WindowCache: share removal work among multiple threads
Split the removal process into blocks so that it can be shared by multiple threads. This potential work sharing can provide 2 optimizations for removals: 1) It provides an opportunity for separate removal requests to be consolidated into one removal pass. 2) It can reduce removing thread latencies by sharing the removal work with other removing threads which otherwise might not have any work to do due to their removal request being consolidated. This makes the system more efficient and can actually reduce latencies as system load increases due to pack removals! The optimizations above are all achieved without blockng threads to wait for other threads to complete (although naturally there are some synchronization points), and while ensuring that no threads do more work than if they were the only thread available to perform a removal. Change-Id: Ic6809a8abf056299abde0f0c58c77aaf245a8df5 Signed-off-by: Martin Fick <mfick@nvidia.com>
Diffstat (limited to 'org.eclipse.jgit.packaging/org.eclipse.jgit.http.apache.feature/pom.xml')
0 files changed, 0 insertions, 0 deletions