Skip to content
  • Duncan Coutts's avatar
    Parallelise the install command This is based on Mikhail Glushenkov's patches. · 43e5c8f1
    Duncan Coutts authored
    It adds a '-j N' (= 'number of jobs') option for the 'install' command, which
    can be used to specify the number of concurrent workers. If possible, at most
    N packages will be built concurrently.
    
    This version of the patch is less featureful than Mikhail's version but also
    rather simpler. The key difference compared to Mikhail's version is that this
    version is lacking the output serialisation and the ability to tag each output
    message with the task it came from. All output is interleaved. The next step
    will be to make parallel builds log to files rather than the console and only
    to display a summary on the console.
    
    In addition to not having to change the output functions, the code is a bit
    simpler by keep the structure of the code the same as before, rather than
    splitting it into a number of concurrent tasks with channels. Instead each
    task simply executes the same pattern of install actions and concurrency
    limits are enforced using semaphores.
    43e5c8f1