ccache
cargo-mutants
ccache | cargo-mutants | |
---|---|---|
28 | 8 | |
2,178 | 445 | |
1.6% | - | |
9.4 | 9.7 | |
6 days ago | 8 days ago | |
C++ | Rust | |
GNU General Public License v3.0 or later | MIT License |
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.
ccache
-
Deep Learning with “AWS Graviton2 + NVIDIA Tensor T4G” for as low as free* with CUDA 12.2
# Download and install ccache for faster compilation wget https://github.com/ccache/ccache/releases/download/v4.8.3/ccache-4.8.3.tar.xz tar -xf ccache-4.8.3.tar.xz pushd ccache-4.8.3 cmake . make -j $CPUS make install popd # Install NumPy, a dependency for PyTorch dnf install -y numpy # Install Python typing extensions for better type-checking sudo -u ec2-user pip3 install typing-extensions # Clone PyTorch repository and install from source git clone --recursive https://github.com/pytorch/pytorch.git pushd pytorch python3 setup.py install popd # Refresh the dynamic linker run-time bindings ldconfig # Install additional Python libraries for PyTorch sudo -u ec2-user pip3 install sympy filelock fsspec networkx
-
This isn’t the way to speed up Rust compile times
> What can I use to cache with MSVC that isn't Incredibuild?
Ccache works, but if you use the Visual Studio C++ compiler you need to configure your build to be cacheable.
https://github.com/ccache/ccache/wiki/MS-Visual-Studio
-
Flutter or React Native
That ecosystem now is too young. All these things must be configured by an automatic installer. Packages and pods need to be tested before release, etc. Previous was 80 min compilation time of the Firestore package. Solved with https://ccache.dev/. But why Dart developers must know, how to install and configure object cache for C++ compilers?
-
Distcc: A fast, free distributed C/C++ compiler
Related
https://github.com/icecc/icecream - another option that does what distcc does, but aimed at a somewhat different use case.
https://ccache.dev/ - a similar idea but provides caching of build outputs instead of distributing builds. You can use it together with distcc to achieve even better performance.
- Debugging the QtCreator
- How to avoid compiling whole C++ project every time using Github actions?
-
Boring Python: Code Quality
> All those big changes introduce commits that make git bisect generally slower.
Bisection search is log2(n) so doubling the number of commits should only add one more bisection step, yes?
> Which might be awful if you also have some C code to recompile at every step of bisecting.
That reminds me, I've got to try out ccache (https://ccache.dev/ ) for my project. My full compile is one minute, but the three files that take longest to compiler rarely change.
-
Ccache – a fast C/C++ compiler cache
I worked with the internals of this some 16 years ago, maintaining a customized version at Zeugma Systems. Some change of mine was reworked by someone and upstreamed:
https://github.com/ccache/ccache/commit/e8354384f67bc733bea5...
cargo-mutants
-
Distcc: A fast, free distributed C/C++ compiler
Hi Rusty!
For a later hack in the same vein, check out https://github.com/sourcefrog/cargo-mutants
- cargo-mutants 0.2.9 finds poorly-tested code faster
-
What's everyone working on this week (13/2022)?
cargo-mutants got a couple of releases over the weekend, fixing some environment-triggered bugs on Windows and Linux ecryptfs, and adding a better overall progress indicator (demo: https://asciinema.org/a/481375). It is getting better at avoiding uninteresting or pointless mutations, although there's a lot more to do there, and at printing function name paths well.
-
What’s everyone working on this week (9/2022)?
While working on Conserve and cargo-mutants I felt that existing Rust progress-bar libraries like Indicatif didn't give me enough control of how the bar was drawn, or at least I was working around them to insert my own text. For example, I wanted to draw several counters into a single line, and it seems like the only way to do that is to just push in a text string.
-
What's everyone working on this week (7/2022)?
Continuing with some fast-follow enhancements in cargo-mutants in response to user feedback: for example doctests are typically slow and in some trees not important for coverage, so you can now skip them.
- cargo-mutants 0.2: a new mutation testing tool
-
What's everyone working on this week (6/2022)?
I got cargo-mutants to a state where I felt I could announce it and ask for public feedback.
What are some alternatives?
sccache - Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible. Sccache has the capability to utilize caching in remote storage environments, including various cloud storage options, or alternatively, in local storage.
conserve - 🌲 Robust file backup tool in Rust
buildcache - A build cache
cargo-public-api - List and diff the public API of Rust library crates between releases and commits. Detect breaking API changes and semver violations via CI or a CLI.
Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
elitetopy - elite -> python3 converter
linux-tkg - linux-tkg custom kernels
mutagen - Breaking your Rust code for fun and profit
icecream - Distributed compiler with a central scheduler to share build load
strop - Stochastically generates machine code
setup-gcc - GitHub action to set up GCC
elite - Fegeya Elitebuild, small, powerful build system. Written in Rust.