Skip to content
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

Improve Rust workspace build performance #291

Closed
3 tasks
iliana opened this issue Sep 24, 2019 · 1 comment · Fixed by #428
Closed
3 tasks

Improve Rust workspace build performance #291

iliana opened this issue Sep 24, 2019 · 1 comment · Fixed by #428
Assignees
Labels
type/enhancement New feature or request

Comments

@iliana
Copy link
Contributor

iliana commented Sep 24, 2019

Our Rust builds take too long, primarily because we're doing a separate cargo install for every single binary.

What we're going to try:

  • Use cargo build --release instead of cargo install
  • Compile all the bins in the workspace at once

Things we need to do the above:

  • Use nightly cargo inside the buildroot so we can use --out-dir :(

What we tried:

  • sccache (didn't cache much, and didn't help much on top of buildkit's caching)
  • lld for linking (saved less than a second)
@tjkirch tjkirch added the type/enhancement New feature or request label Oct 2, 2019
@iliana iliana changed the title Split the api package or parallelize the build Make build less suck Oct 15, 2019
@iliana iliana self-assigned this Oct 15, 2019
@tjkirch tjkirch changed the title Make build less suck Improve Rust workspace build performance Oct 15, 2019
@iliana
Copy link
Contributor Author

iliana commented Oct 15, 2019

Crossing out nightly Cargo for now, since I think we can continue to install individual binaries into %{_cross_bindir}. (--bins doesn't let us use --exclude.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants