You don't need an exceptional size of code base to have this issue, just your regular 6-figure LOC industrial project. Exceptionally large code bases have compile time issues in C++ (that's a major reason why Google created Go).
-
-
Where Chromium is building in 30-45 minutes, Firefox is taking 12-24 hours. Stuck in Rust. I can’t work with that.
4 replies 0 retweets 1 like -
I don't think such build times are expected for Firefox on any platform, sounds like a bug... Their build times in CI are < 1h afaik.
1 reply 0 retweets 5 likes -
On gentoo, if I emerge Firefox, it’s ready tomorrow. I will loudly and happily proclaim my error if this is a gentoo bug and not a rust bug. I will sit down and write some rust code if that’s the case.
5 replies 1 retweet 3 likes -
For what it’s worth, we do know compile times are a pain point, and are always working on improving them. That does sound quite excessive though. I don’t follow Firefox build times, but if that was the norm, I’d expect to have heard about it.
2 replies 0 retweets 10 likes -
IMO the way we talk about Rust compile times is suboptimal: given that most of the time is spent in LLVM, we only add 10%-50% (you should probably submit a bug if it's 50% or more) on top of that. So when building from scratch, C++ *maybe* gets wins from parallelism.
5 replies 2 retweets 8 likes -
Replying to @eddyb_r
this continues to read as ridiculous to me. we know llvm takes an incredibly long amount of time, and part of that is because rust emits a huge pile of garbage for it sort out. and somehow the rust front end *still* takes as long as llvm? that's so incredibly bad...
1 reply 0 retweets 1 like -
it's typically not 50%, IME it's typically like 10% (last i measured this was a while ago)
1 reply 0 retweets 0 likes -
Replying to @ManishEarth @eddyb_r
it's also just super shady accounting to spew such bad IR and be like "oh wow llvm is slow, gosh nothing we could do about that, can't be blamed for slow compile times"
2 replies 0 retweets 4 likes -
I don’t understand what the point of your hostile tone is. Nobody is denying that we need better MIR optimizations to improve the IR we send to LLVM.
1 reply 0 retweets 3 likes
FWIW, I think there are no silver bullets for compilation time issues, that most of the low-hanging fruit has already been picked, and that it’s going to just require a hard engineering slog to burn through a long tail of issues to see real improvements. Simple as that.
-
-
i apologize, i am in a foul mood. i completely agree with your statement, and just want to discourage the common notion that somehow the current state of affairs is natural or unavoidable due to llvm. compile times are bad, it's our fault, and we're working on it.
1 reply 0 retweets 7 likes -
Also it’s worth keeping in mind that we built the compiler more or less as clang is (AST -> LLVM IR), and Rust is a C++-like language, so it’s not like we really made any blunders. It just isn’t an optimal design for Rust, in hindsight.
1 reply 0 retweets 4 likes - 2 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.