Ooh, snappy answers: 1. There have been multiple successful automated batching strategies, from "try all combinations" to "optimistic bisect-backoff" to various in-betweens. 2. Testsuites typically parallelize perfectly, or should. Engineering mis-spend to not exploit that.
-
-
What kills me about this discussion (and I've been having it off-and-on for nearly 20 years!) is the willingness orgs display to underinvest in this extremely-high-order bit with respect to their own productivity and QA. It's like "nah we don't want to bother installing plumbing"
1 reply 1 retweet 25 likes -
"We'll just deal with everyone hiking miles to go fetch water, and getting cholera every few days and so forth. We've managed our hydration and sanitation this way a long time, and plumbing is _so_ much work to install!"
1 reply 1 retweet 20 likes -
Replying to @graydon_pub @stephentyrone
Oh, yeah, to be clear I *vastly* prefer the "never break master" CI model, more pointing out that it has scaling issues that are tricky -- not impossible -- to deal with
1 reply 0 retweets 4 likes -
In Rust's case I wrote up an autobatching scheme years ago, requiring a straightforward three way PR classification, but doing it well requires more CI budget than we have right now. Probably could deploy a simpler version of it that gets us some wins.
1 reply 0 retweets 4 likes -
Replying to @ManishEarth @stephentyrone
I mean I'm nowhere near the purse strings but this has literally been an issue off-and-on since I .. uh .. left the project. We were having an argument over it that very week. It means prioritizing cycle time in a way that seems to resist all rational planning. I don't get it.
1 reply 0 retweets 4 likes -
Like if someone with the correct authority said "we don't do any more feature work or bug fixing or anything until cycle time is down to 10 minutes", it would get solved. It's not like compilers that bootstrap and self-test that fast (without $infinite_aws_bill) can't be written.
2 replies 0 retweets 10 likes -
I’m fine with investing in automatic rollups (the fact that we have to do them bugs me too), but you lost me at “stop all feature/bug fix work until the compiler is 10x faster”.
1 reply 0 retweets 3 likes -
Replying to @pcwalton @graydon_pub and
I’m not even convinced it’s possible for Rust to compile that fast without simplifying the language a lot. Even if it were, you’re talking about a complete rewrite of major subsystems. Like either “rewrite the whole typechecker” or “rewrite LLVM”.
2 replies 0 retweets 8 likes -
The whole compiler has been substantially rewritten multiple times since you and I last had this argument in person, so .. I kinda don't buy that. It's chronic under-prioritization of the topic, not "we can't possibly find the time".
2 replies 0 retweets 4 likes
It is extremely not true that the Rust team underprioritizes compiler performance. That’s, like, the #1 thing they prioritize.
-
-
Possibly now. Definitely not in the past. Path to the present .. is hard to argue. I'm not saying it was the wrong choice. I'm saying the present was arrived at by choice, not fate.
1 reply 0 retweets 1 like -
Replying to @graydon_pub @pcwalton and
(You also just said that you would not, in fact, be willing to entertain a freeze on other work in favor of compiler performance, which is what it means to prioritize it over all else. So I _think_ there's a contradiction about priorities lurking here.)
3 replies 0 retweets 1 like - 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.