With icecc we can distribute Gecko’s C++ files to a hundred cores across the office. Even with costly headers, throwing hardware at the problem gets us quite far. With Rust, if the crate dependency graph is narrow (i.e. if the critical path is long) there’s nothing we can do.
-
-
Replying to @SimonSapin @eddyb_r and
That's because icecream exists, Rust's incremental compilation *could* support something like this, it just doesn't. Yet. (it's true that writing an icecream for c++ is easier than writing one for rust because of the model, but it's not "nothing we can do")
1 reply 0 retweets 1 like -
Replying to @ManishEarth @eddyb_r and
I meant a different we. On a scale of days/weeks, we the people in my office and me can buy more CPUs to throw at icecc but there is nothing we can do about much of Rust compilation being single-threaded.
1 reply 0 retweets 1 like -
Replying to @SimonSapin @ManishEarth and
Sure, we the community of people working on Rust can refactor rustc internals to allow distributing the query system across machines, but that’s much harder and on a scale of years.
1 reply 0 retweets 2 likes -
Replying to @SimonSapin @ManishEarth and
Do you have a concrete proposal or suggestion for what we should have done differently in rustc?
1 reply 0 retweets 0 likes -
Replying to @pcwalton @SimonSapin
I don't think his point is that rust has worked itself into a corner, his point is that as a *user* of rust icecc isn't currently available
1 reply 0 retweets 0 likes -
Replying to @ManishEarth @SimonSapin
I don’t get what the point of pointing that out is, other than to suggest that Rust should have used header files. If we’re going to debate the merits of header files, let’s get that out on the table.
2 replies 0 retweets 0 likes -
Replying to @pcwalton @SimonSapin
No, the point is that *right now* c++ may be a more attractive choice for compile times for users
1 reply 0 retweets 0 likes -
Replying to @ManishEarth @pcwalton
I’m not trying to argue for a different Rust. Only responding to Eddy’s "Rust is not really worse than C++", pointing out that the state of the world today is that introducing Stylo doubled Firefox’s build time when a few desktops with big CPUs are available to icecc.
2 replies 0 retweets 1 like -
Replying to @SimonSapin @ManishEarth
I read eddyb’s post as saying that the design of Rust is not really worse than the design of C++, as far as compilation speed is concerned. Obviously C++ has more tooling available right now; nobody denies that.
2 replies 0 retweets 1 like
(I also think this illustrates my point about there being no silver bullet: icecream is a very specific build time improvement for medium to large companies who work on large codebases. Lots of work to benefit only a fraction of the community.)
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.