sccache
bazel-buildfarm
Our great sponsors
sccache | bazel-buildfarm | |
---|---|---|
71 | 4 | |
5,347 | 624 | |
3.0% | 4.5% | |
9.4 | 9.5 | |
2 days ago | 4 days ago | |
Rust | Java | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sccache
-
Speeding up C++ build times
Use icecream or sccache. sccache supports distributed builds.
https://github.com/mozilla/sccache/blob/main/docs/Distribute...
-
Mozilla sccache: cache with cloud storage
Worth noting that the first commit in sccache git repository was in 2014 (https://github.com/mozilla/sccache/commit/115016e0a83b290dc2...). So I suppose that what "happened" happened waay back.
- Welcome to Apache OpenDAL
-
Target file are very huge and running out of storage on mac.
If you have lots of shared dependencies, maybe try sccache?
-
S3 Express Is All You Need
I'm going to set up sccache [0] to use it tomorrow. We use MSVC, so EFS is off the cards.
[0] https://github.com/mozilla/sccache/blob/main/docs/S3.md
- sccache
-
Serde has started shipping precompiled binaries with no way to opt out
I think the primary benefit of pre-built procmacros will be for build servers which don't use a persistent cache (like sccache), since they have to compile all dependencies every time. But IMO improved support for persistent caches would be a better investment compared to adding support for pre-built procmacros.
-
Cache dependencies across crates
Checkout https://github.com/mozilla/sccache
-
Distcc: A fast, free distributed C/C++ compiler
https://github.com/mozilla/sccache is another option which addresses the use cases of both icecream and ccache (and also supports Rust, and cloud storage of artifacts, if those are useful for you)
-
How to fix Rust Coding LARGE files????
That being said a compilation cache, eg the de-facto standard for Rust: sccache (https://github.com/mozilla/sccache) will help to compile and store some of the build artifacts centralized - still for each crate version + build profile (RUSTFLAGS) combination.
bazel-buildfarm
-
Distcc: A fast, free distributed C/C++ compiler
It can be. By default it is local.
But it has protobufs interfaces (IIRC), so a distributed build farm would generate the grpc endpoints for their implementation and then you tell bazel on the command line (or via .bazelrc) the address of the build farm it can use.
There's a couple of projects that implement the distributed/grpc part, the main one is https://github.com/bazelbuild/bazel-buildfarm
-
Rust Is Portable
Not sure what to say concerning buildfarm's remote execution.
Reading an issue I've opened 1y ago [1], seems the backend requires the client to have a specific gcc version.
That's a strong limitation imho.
[1] https://github.com/bazelbuild/bazel-buildfarm/issues/545
-
Running container_push inside a container
You can also set up a remote build service that uses the same environment you run the containers in using something like https://github.com/bazelbuild/bazel-buildfarm
-
Distributed build clusters
Currently migrating to Bazel + bazel remote execution via Bazel buildfarm. Bazel has native support for build clusters.
What are some alternatives?
ccache - ccache – a fast compiler cache
llama
cargo-chef - A cargo-subcommand to speed up Rust Docker builds using Docker layer caching.
gnu-parallel - A clone of GNU Parallel (git://git.savannah.gnu.org/parallel.git)
rust-cache - A GitHub Action that implements smart caching for rust/cargo projects
mainframer - Tool for remote builds. Sync project to remote machine, execute command, sync back.
cache - Cache dependencies and build outputs in GitHub Actions
pyroscope-rs - Pyroscope Profiler for Rust. Profile your Rust applications.
icecream - Distributed compiler with a central scheduler to share build load
rules_closure - Closure rules for Bazel
mold - Mold: A Modern Linker 🦠
pyzmq - PyZMQ: Python bindings for zeromq