criterion.rs
sccache
Our great sponsors
criterion.rs | sccache | |
---|---|---|
30 | 71 | |
4,153 | 5,347 | |
- | 3.0% | |
6.5 | 9.4 | |
13 days ago | 2 days ago | |
Rust | Rust | |
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.
criterion.rs
-
How to benchmark in Rust with libtest bench
The three popular options for benchmarking in Rust are: libtest bench, Criterion, and Iai.
-
Divan: Fast and Simple Benchmarking for Rust
Holy crap. I was just writing a blog to complain about the state of Rust benchmarking and I think this might address most of my points. The biggest one is the ability to have benchmarks collocated within the library like tests which is the biggest annoyance.
It’s also nice to see that it can report multiple counters in parallel. I put up a similar feature[1] for criterion recently but I fear the project isn’t being maintained anymore…
Haven’t looked deeply into divan yet but the other requirements I have for criterion’s power is to run tests with statistical guarantees on the results, terminate quickly when statistical significance is reached (—quick), provide a comparison of the delta from a previous benchmark, and to run async code. Wonder how this stacks up.
[1] https://github.com/bheisler/criterion.rs/pull/722
-
how expensive is an operation?
criterion for benchmarks,
- Autometrics 0.4: Spot commits that introduce errors or slow down your application
- Performance-related question
-
How can I further optimize this file parser? (std, serde, diesel)
For an extra optimization, you might look into techniques like branchless code, turning array of structs into struct of arrays for better cache utilization/lowering branch mispredictions. There is many talks on YouTube how to actually measure and improve performance of native code. And for rust there is a criterion.rs for benchmarking.
- making a virtual machine in rust
-
How much does Rust's bounds checking cost?
https://github.com/bheisler/criterion.rs is good for tests like that. It will give you much more than a single number and handle things like outliers. This makes identifying noisy tests simpler.
-
Tips in using criterion to properly benchmark a database?
I have tried many ways but I think is not possible. I put it on https://github.com/bheisler/criterion.rs/issues/631.
-
Rust 1.64 Became 10-20% Faster On Windows
Criterion is still the gold standard.
Pros for Criterion over the stdlib: https://github.com/bheisler/criterion.rs#features
Downsides of Criterion: https://bheisler.github.io/criterion.rs/book/user_guide/know...
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.
What are some alternatives?
hyperfine - A command-line benchmarking tool
ccache - ccache – a fast compiler cache
sqlglot - Python SQL Parser and Transpiler
cargo-chef - A cargo-subcommand to speed up Rust Docker builds using Docker layer caching.
glassbench - A micro-benchmark framework to use with cargo bench
rust-cache - A GitHub Action that implements smart caching for rust/cargo projects
tracing - Application level tracing for Rust.
cache - Cache dependencies and build outputs in GitHub Actions
tungstenite-rs - Lightweight stream-based WebSocket implementation for Rust.
icecream - Distributed compiler with a central scheduler to share build load
message-io - Fast and easy-to-use event-driven network library.
mold - Mold: A Modern Linker 🦠