-
Notifications
You must be signed in to change notification settings - Fork 94
Respect jobserver set by Cargo #120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Jakub Beránek <[email protected]>
|
Added the signoff. |
Signed-off-by: Jakub Beránek <[email protected]>
Signed-off-by: Jakub Beránek <[email protected]>
BusyJay
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
|
MAKEFLAGS have not been sanitized, so the jobs fail.
|
|
Let's discuss in #92. |
The
jemalloc-syscrate currently does not respect the Make jobserver protocol, and hardcodes-j$NUM_JOBSMake jobs as set by Cargo.Cargo recommends to use
CARGO_MAKEFLAGSinstead (https://doc.rust-lang.org/cargo/reference/environment-variables.html), to avoid oversubscribing CPU cores when building Jemalloc C++ code in parallel with other Rust crates.Here is a small benchmark that I did on hyperqueue with and without jobserver protocol support on AMD Zen 3 with 8 cores enabled:
With jobserver protocol support, the compilation finishes 2-3% faster.