diff --git a/.cargo/config.toml b/.cargo/config.toml index f12746cc84..76b292ef5b 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -3,10 +3,10 @@ LLVM_SYS_181_PREFIX = "/usr/lib/llvm-18/" MLIR_SYS_180_PREFIX = "/usr/lib/llvm-18/" TABLEGEN_180_PREFIX = "/usr/lib/llvm-18/" -# Limit concurrency to prevent crash during "cargo build" due to excessive memory usage. Should be removed in the future. Slows down performance. -[build] -jobs = 8 - -# Limit concurrency to prevent crash during "cargo test" due to excessive memory usage. Should be removed in the future. Slows down performance. -[test] -jobs = 8 +# Use `lld` for linking instead of `ld`, since we run out of memory while linking with `ld` on +# 16-cores linux machines, see: +# https://nnethercote.github.io/perf-book/build-configuration.html#linking. +# TODO: remove this once `rust` stabilizes `lld` as the default linker, currently only on nightly: +# https://github.com/rust-lang/rust/issues/39915#issuecomment-618726211 +[target.x86_64-unknown-linux-gnu] +rustflags = ["-Clink-arg=-fuse-ld=lld"] diff --git a/.github/workflows/committer_ci.yml b/.github/workflows/committer_ci.yml index 5a596c2dbf..18a9ae7b19 100644 --- a/.github/workflows/committer_ci.yml +++ b/.github/workflows/committer_ci.yml @@ -87,6 +87,7 @@ jobs: gcloud storage cp -r gs://committer-testing-artifacts/$NEW_BENCH_INPUT_FILES_PREFIX/* ./crates/committer_cli/test_inputs # Benchmark the new code, splitting the benchmarks, and prepare the results for posting a comment. + - uses: ./.github/actions/bootstrap - run: bash ./crates/committer_cli/benches/bench_split_and_prepare_post.sh benchmarks_list.txt bench_new.txt - run: echo BENCHES_RESULT=$(cat bench_new.txt) >> $GITHUB_ENV diff --git a/scripts/dependencies.sh b/scripts/dependencies.sh index 142a73f8ce..50962c7368 100755 --- a/scripts/dependencies.sh +++ b/scripts/dependencies.sh @@ -36,7 +36,8 @@ function setup_llvm_deps() { libmlir-18-dev \ libpolly-18-dev \ libzstd-dev \ - mlir-18-tools + mlir-18-tools \ + lld ' ;; *)