Open gtkramer opened 4 years ago
The main bottleneck for delta pack generation is sorting the bundles, which is currently not parallelized, as we are using default sorting which Go provides. We can compare writing a concurrent sorting algorithm and check how much improvement in performance can be achieved.
It appears that when delta packs are being created, the work that needs done if first computed, and then all the work is parallelized. This ends up causing the machine to spend lots of time idle prior to parallelizing work. Would it be faster to, as soon as work is found that needs done, that that work is spun off as a task with no more than x tasks spun off at once?