D1458: workers: implemented worker on windows
wlis (Wojciech Lis)
phabricator at mercurial-scm.org
Tue Nov 21 00:08:49 EST 2017
wlis planned changes to this revision.
wlis added a comment.
I need to test these changes a bit more. I found a place in merge.py that has a risk of race condition and need to figure out how to protect it.
Right now there are 2 places where we use workers. 1 in core (merge.py) and there is also us in lfs in fb extensions.
We actually hit the CPU limit right away when we start using threading, and I initially looked into implementing something closer to what we do in posix, but as you say that is not easy on Windows as fork doesn't exist. I think that from my perspective putting the applyupdates code into rust and starting multiple processes with that would work, and as you say gives more space for perf improvement than this change.
I am happy with making this code short lived if it gets replaced by a better solution.
To: wlis, #hg-reviewers
Cc: indygreg, mercurial-devel
More information about the Mercurial-devel