4 ms·
Incremental Rust builds are almost never minutes (on recentish hardware) A quick measurement on my web browser project with almost 600 dependencies: - A clean
by nicoburns 5mo ago
Incremental Rust builds are almost never minutes (on recentish hardware)
A quick measurement on my web browser project with almost 600 dependencies:
- A clean "cargo check" was 31s
- An incremental "cargo check" with a meaningful change was 1.5s
Building is a little slower:
- A clean "cargo build" was 56.01s
- An incremental "cargo build" was 4s
But I find that LLMs are mostly calling "check" on Rust code.
---
That's on an Apple M1 Pro. The latest M4/M5 machines as ~twice as fast.
- amazingamazing 5mo agoI mean i wouldnt call a 100% a little slower wrt check vs build. In any case, the more you change the longer the incremental check or build will take.
- nicoburns 5mo agoSure, but when we're talking single-digit seconds it feels not that significant regardless?
- amazingamazing 5mo agoMy point is that it isn't necessarily that fast. It is relative to the amount of changes and where they were made. For a fair comparison you would also have to present the worst case incremental build time which approaches the full build time (this goes for Go too), which per your own example is nearly a minute for rust.
- nicoburns 5mo ago> For a fair comparison you would also have to present the worst case incremental build time which approaches the full build time (this goes for Go too) The worst case that would approach a non-incremental build time would be if you were editing a leaf crate. But in almost all cases the leaf crates are 3rd-party dependencies that you would never edit directly. A real-world worst case is probably more like ~10-20% of an non-incremental builds.
- J_Shelby_J 5mo ago1.5s for a massive project, on a laptop,like the OP said is still barely anything in the context of agentic coding. It’s less than a single percentage point of the total time in the loop, even if the agent has to compile multiple times. This is cope. I do give you that rust is more verbose and thus more token heavy. However that verbosity is meaningful and the LLM would have to spend tokens thinking about the code to understand less verbose languages. So I’d consider that a wash - in some cases it hurts and in some it helps.
- amazingamazing 5mo agoWe don’t know how massive the project is, but in any case building and immediately building again of course will be fast. How fast is it if all files have a single line changed, for example refactoring a log message? Not to mention we haven't even gotten to discussing tests.
- nicoburns 5mo ago> in any case building and immediately building again of course will be fast FWIW, the compile time test above was done comparing consecutive commits. Which in this case happened to have ~3-4 lines changed.