AcademySoftwareFoundation / AcademySoftwareFoundation/rez

Threaded builds/releases

Open
#507 3 comments 0 reactions 0 assignees View on GitHub
enhancement rez-build rez-release
Dominant language
Python
Stars
1.1k
Forks
369
Avg merge
12d 3h
Merged PRs (30d)
5

Description

It would be excellent to be able to multi-thread rez-build's per variant. I often find myself performing builds that spend a lot of time in a single-threaded linking step and could benefit by being able to rez-build or rez-release a series of variants in a threaded fashion, where builds themselves may not be able to thread well. I would expect to find it useful to be able to declare a maximum number of threads and pop unbuilt variants off the stack as a thread becomes available, to do a an "all variants in a thread all at once" type of build, and possibly to have a stagger parameter, because sometimes I have an IO-intensive first-step that might fail if I try to make the IO request 16 times at the same time.

Contributor guide

Open the contributing guide

Research direction

Start with the rez-build and rez-release entry points mentioned in the issue, then trace how per-variant work is scheduled. Define the threading, maximum-worker, queue, and stagger behavior before identifying the relevant tests. Done means both commands can process multiple variants concurrently without exceeding the configured limit or overwhelming I/O-heavy steps.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.