AcademySoftwareFoundation / AcademySoftwareFoundation/rez
Threaded builds/releases
- 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
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