cargo-llvm-lines
cargo-bisect-rustc
cargo-llvm-lines | cargo-bisect-rustc | |
---|---|---|
3 | 4 | |
379 | 172 | |
- | 1.2% | |
7.4 | 7.8 | |
7 days ago | 10 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.
cargo-llvm-lines
-
Making a Rust crate compile faster [video]
This is a livestream, the "offline" artefact is a function of that but not the primary one. Jon essentially uses livestreams as exploratory labs / presentations, and even ignoring the regular Q&As audience interaction is both common and commonly useful there — for instance in this one /u/dtolnay suggests something about cargo-llvm-lines as Jon is working with it.
-
1.56 Compile time is through the roof!?
If you want to dig further, I see though that some of this time is spent in codegen (generating LLVM IR) and in LLVM. Maybe something is generating much more IR than before, which then takes a lot of time to process. Another tool is https://github.com/dtolnay/cargo-llvm-lines which shows the number of lines of unoptimized LLVM IR for each of your functions. In general it can be useful to optimize compile times of your project, in this case it might show which area of your code triggers this bug.
-
David Tolnay - thank you
cargo llvm-lines, too.
cargo-bisect-rustc
-
Goodbye to the C++ Implementation of Zig
> One big downside is losing the ability to build any commit from source without meta-complexity creeping in. For example, let’s say that you are trying to do git bisect. At some point, git checks out an older commit, but the script fails to build from source because the binary that is being used to build the compiler is now the wrong version. Sure, this can be addressed, but this introduces unwanted complexity that contributors would rather not deal with.
If it's the main concern of using a prior build of the compiler, an alternative solution is to develop a tool for contributors to automate and ease the process. For example, Rust has this: https://github.com/rust-lang/cargo-bisect-rustc
-
Cross v0.2.2 Released
Added support for tools like cargo-bisect-rustc.
- Why does my code compile faster on nightly?
-
1.56 Compile time is through the roof!?
Finally, https://github.com/rust-lang/cargo-bisect-rustc/blob/master/TUTORIAL.md can bisect Nightlies or (if recent enough, I think CI artifacts are kept 3 months) PRs to tell you one introduced a problem.
What are some alternatives?
rust-quiz - Medium to hard Rust questions with explanations
zvm - zvm (Zig Version Manager) lets you easily install/upgrade between different versions of Zig.
measureme - Support crate for rustc's self-profiling feature
live-bootstrap - Use of a Linux initramfs to fully automate the bootstrapping process
semver-trick - How to avoid complicated coordinated upgrades
rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266
async-trait - Type erasure for async trait methods
nix-zig-stdenv - cross-compile nixpkgs with zig
axum - Ergonomic and modular web framework built with Tokio, Tower, and Hyper
cross - “Zero setup” cross compilation and “cross testing” of Rust crates
db-dump - Library for scripting analyses against crates.io's database dumps
rust - Empowering everyone to build reliable and efficient software.