| ▲ | stymaar 4 hours ago |
| This! There's a recurring meme here and in other social media about rust being slow to compile, but anyone who's worked with Rust know that target dirs are a much more annoying papercut in practice than the relative speed of the compiler (which isn't appreciably worse than any other toolchain out there for the most common workflows). |
|
| ▲ | anonymous908213 2 hours ago | parent | next [-] |
| A papercut is an unbelievable way to describe this. I tried forking Codex CLI and, for a terminal UI that manages chats and HTTP requests, it takes over 15 minutes to rebuild trivial changes on a top-shelf CPU with all incremental/caching optimizations, and tens of GBs in build caches. Neither of those is acceptable. Full stop. I am aware part of the problem is that Codex CLI is a vibe-coded monstrosity (surprise, software is not solved), but I've not had this problem with vibe-coded monstrosities in eg. Go. Hold your language to better standards. That doesn't mean abandon Rust; that means strive to make the Rust toolchain better than the Go toolchain rather than shrugging your shoulders and saying "lol this is fine no way anybody could do anything about this". |
| |
| ▲ | xyzzy_plugh an hour ago | parent | next [-] | | I've seen three outages at various orgs that were prolonged due to compile times. In these cases it was a root contributor to missing RTO. The compile times are a liability. One proposal I came across actually suggested breaking up a perfectly fine monolith into a dozen microservices to reduce compile times (at the cost of cumulative CI costs going up). When the alternative is massively rearchitecting your systems, Zig and Go begin to look really nice by comparison. | |
| ▲ | simonask 2 hours ago | parent | prev [-] | | I have no idea about the code quality of Codex CLI, but it takes way way less time to build a full game engine (Bevy). Stories like this make me think something is wrong with your setup. Do you have Windows Defender or similar enabled on the build directory? | | |
| ▲ | shakna 7 minutes ago | parent | next [-] | | Bevy is intentionally sharded across many crates, is small, and has the dev working on optimised build times. That isn't "Rust compiles are fast", it's another example of "Rust requires you architect your code a specific way". | |
| ▲ | aliasxneo an hour ago | parent | prev [-] | | Weird take. I've worked in large Rust projects for half a decade (in one case, a full blockchain written in Rust). It's slow, full stop. I was under constant pressure to keep CI times down and was resorting to some of the craziest optimizations just to save a few minutes. Meanwhile, all of the platform code I was writing in Go almost never had a CI time above a few minutes. Doesn't mean one is better than the other, but to find it odd someone had an experience with slow Rust compiliations and then blame it on their setup is a bit odd. |
|
|
|
| ▲ | 3 hours ago | parent | prev | next [-] |
| [deleted] |
|
| ▲ | rapind 3 hours ago | parent | prev | next [-] |
| Both (and memory) are a problem. Build sizes is definitely more easily solved just by throwing more disk at it though (unless you are using a hard constrained mac...). |
| |
| ▲ | estebank 3 hours ago | parent | next [-] | | A partial solution that avoids you spending money is to stick `debuginfo = "line-tables-only"` in your `Cargo.toml`. | | |
| ▲ | epage an hour ago | parent [-] | | This will be the default for the `dev` profile in an upcoming release now that the `debug` profile has been split out. |
| |
| ▲ | colechristensen 2 hours ago | parent | prev [-] | | A good 4TB SSD was $1000 the last time I checked. The "throw more resources at it" attitude makes all but very top tier equipment kinda useless for many cases. I had to abandon several projects until I bought a significantly beefier computer because of disk space, which is ridiculous. A lot of it was rust target directories taking up tens of gigabytes. | | |
|
|
| ▲ | d0mine 3 hours ago | parent | prev [-] |
| ~Zero build time Python vs 20 min for Rust web app |
| |
| ▲ | maccard an hour ago | parent | next [-] | | Go is pretty close to 0 as well IME. Funnily enough, last week I was working on parsing some json. I wrote a little script in python, tested it and then ran it over the main dataset. It took so long that I rewrote it in C# before the python script had finished! | |
| ▲ | Filligree 3 hours ago | parent | prev | next [-] | | It's more than zero, but 15 seconds would be a great deal more realistic for an incremental build. | |
| ▲ | colechristensen 2 hours ago | parent | prev [-] | | I have a whole section in my global AGENTS.md about how python sucks to influence agents to not use it for anything performance sensitive. My favorite improvement example was something a bit of a slog was taking 20 minutes in python, I told the agent to rewrite it in rust and the result was 300,000 times faster... 20 minutes to ones of milliseconds. Obviously not just a python problem but better solutions just seem to fall out of Rust and Python is just slow. |
|