Skip to content

Implement parallel recipe building

Matthew Waters requested to merge ystreet/cerbero:parallel-recipes into master

Steals some of the async changes from !170 (merged) so semi-depends/conflicts.

This makes everything build faster by 20-45% by consistently using multiple CPU cores to their full potential. The most notable time reduction is the ios-universal deps job of over an hour.

There are some limits in place to ensure the build will not overload a system.

  1. Only a single install or post-install step can execute concurrently. This is mostly for ios-universal to be able to track installed files correctly as it requires.
  2. Only 2 parallel build steps can execute concurrently. This reduces the number of processes that we will spawn and reduces resource contention
Edited by Matthew Waters

Merge request reports