-
Notifications
You must be signed in to change notification settings - Fork 715
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
Enable build.rs
to build each source file in parallel
#1591
Conversation
Signed-off-by: Jiahao XU <[email protected]>
Signed-off-by: Jiahao XU <[email protected]>
required for spawning a new thread. Signed-off-by: Jiahao XU <[email protected]>
Signed-off-by: Jiahao XU <[email protected]>
Signed-off-by: Jiahao XU <[email protected]>
Signed-off-by: Jiahao XU <[email protected]>
…lism instead of calling into `compile` and spawning one thread for each `compile`. Signed-off-by: Jiahao XU <[email protected]>
Signed-off-by: Jiahao XU <[email protected]>
Signed-off-by: Jiahao XU <[email protected]>
Signed-off-by: Jiahao XU <[email protected]>
Signed-off-by: Jiahao XU <[email protected]>
Signed-off-by: Jiahao XU <[email protected]>
Signed-off-by: Jiahao XU <[email protected]>
Signed-off-by: Jiahao XU <[email protected]>
Signed-off-by: Jiahao XU <[email protected]>
On my powerful M1, this reduces compilation time from 4.3s => 4.2s, but on CI and other env with a much weaker CPU and much less ram, the reduction can be more significant. I also submit a PR to |
Let's split this up into multiple PRs.
PR #1699 will make it so that on non-Windows targets,
Let's do this last. Most users of ring will be building it from the crates.io release that packages the output of the PerlAsm so that perl doesn't need to be run at all.
Again, most users will be using the crates.io release where the
I think issue #1705 describes a better solution for this. WDYT? |
This PR enables
build.rs
to runperl
andnasm
andcc
in parallel to speedup compilation.Parallel execution of
perl
andnasm
is done manually while parallel execution ofcc
is done usingcc::Build
.This PR also builds src and test in parallel.