Hello all;

This is an improvement to hgforest to increase it's concurrency behaviour. 
Currently hgforest.sh limits the rate at which it starts new sub-processes 
because it wants to limit the number of concurrent tasks. The naive approach it 
takes can cause unnecessary delays. For sequences of operations that are 
entirely local the overhead of waiting is significant. The revised 
implementation uses fifos for completion notification on capable platforms or 
compares started task count to completed task count in a shorter sleep loop.

The intention is to use the enhanced concurrency to allow for a fancier 
get_source.sh that can handle rebasing for mq patches. This involves running a 
half dozen commands through hgforest. With my current in-development 
get_source.sh script changes these hgforest changes provide a 10X speedup. (4s 
vs 40s)

The changeset also incorporates a build-dev suggested improvement to extra base 
repo url handling and other minor fixes (status code from subprocesses).

JBSBUG: https://bugs.openjdk.java.net/browse/JDK-8041151
WEBREV: http://cr.openjdk.java.net/~mduigou/JDK-8041151/0/webrev/

I've so far tested it on successfully on Linux (Ubuntu 13.10) Solaris (10u9) 
and Cygwin x64

Cheers,

Mike

Reply via email to