News for hackers. Stuff that matters.
Re:Rust – Faster compilation with the parallel front-end in ... by rayiner on Friday November 10, 2023 @11:02AM (#38220487)
Maybe, but even twice as fast would still make it a “slow compiling language” in comparison to a “fast compiling language” like Go or Pascal.

This is not a knock on Rust—I doubt it’s possible to do what Rust does—including zero overhead abstractions—in a fast compiling language. Go certainly pays a performance penalty with things like boxed generics.

Re:Rust – Faster compilation with the parallel front-end in ... by insanitybit on Friday November 10, 2023 @12:23PM (#38221614)
Twice as fast (or more) is just what I'm aware of in terms of "things that are possible to do today but aren't the default/ would take work to hack in". I don't even know what other options there are beyond that.

But sure, twice as fast isn't fast, it's just faster. My point is that we're not at the point of serious diminishing returns, there's tons of stuff left to do.

Re:Rust – Faster compilation with the parallel front-end in ... by estebank on Friday November 10, 2023 @12:45PM (#38221952)
If there was a magic pot of gold, it would be technically possible to precompile every crate version with every rustc version on every supported platform and distrivute those prebuilt rlibs to users through cargo. That would help with first compile times when using the standard tooling, and not just for proc-macros.
Re:Rust – Faster compilation with the parallel front-end in ... by adastra22 on Friday November 10, 2023 @02:11PM (#38223134)
Not with incremental compile times, which is what people are complaining about.
Re:Rust – Faster compilation with the parallel front-end in ... by estebank on Friday November 10, 2023 @03:32PM (#38224123)
Different people with different use cases have different complains. I haven't quantified but have certainly seen various complaints about both cases from different people.
Re:Rust – Faster compilation with the parallel front-end in ... by cxr on Friday November 10, 2023 @12:27PM (#38221684)
> This is not a knock on Rust

It is a knock on Rust. The circumstances of Rust's state of existence in 2023, as a language created in this millennium but not in the last decade, are an absurdity.

> I doubt it’s possible to do what Rust does—including zero overhead abstractions—in a fast compiling language

People packaging releases for software written in Rust and others who are passive consumers and finding themselves downloading the repo to compile from source for whatever reason (e.g. because the creators don't do binary releases themselves) don't need "Rust" (i.e. the official build toolchain) to do the things that active contributors (who want to be yelled at about borrow checker violations) need from it.

I'd call this oversight a massive lack of imagination on the part of TPTB behind Rust, but that would be wrong, because there is no need to imagine the differences between these use cases. They exist. An adequate toolchain for dealing with projects written in Rust—despite the deliberate decisions made during the design of the language that led to these problems—does not.

Re:Rust – Faster compilation with the parallel front-end in ... by insanitybit on Friday November 10, 2023 @01:01PM (#38222173)
> The circumstances of Rust's state of existence in 2023, as a language created in this millennium but not in the last decade, are absurd.

Sorry, could you be more vague?

Anyway, your post seems to be about packaging software? Or something? Confusing since that has nothing to do with the language...

Re:Rust – Faster compilation with the parallel front-end in ... by cxr on Friday November 10, 2023 @01:25PM (#38222536)
> Sorry, could you be more vague?

Yes, I can, since "2023", "this millennium", and "in the last decade" are all concrete, well-defined things that lead to basically no ambiguity.

Re:Rust – Faster compilation with the parallel front-end in ... by foldr on Friday November 10, 2023 @01:37PM (#38222690)
Go’s generics aren’t boxed. At least, not in the sense that Java’s are. For example, you can write generic functions that operate over slices of unboxed values.
Re:Rust – Faster compilation with the parallel front-end in ... by neonsunset on Friday November 10, 2023 @02:11PM (#38223131)
Still worse than true monomorphized generics in C# which too has fast compilation times (by nature of being JIT-compiled, but AOT target is still faster than Rust once you download dependencies).
Re:Rust – Faster compilation with the parallel front-end in ... by foldr on Saturday November 11, 2023 @11:02AM (#38231461)
Go’s implementation strategy for generics essentially is monomophirization plus obvious code size optimizations (e.g. don’t generate different code for different pointer types given that they all have the same underlying representation). Do you have specific scenario in mind where Go’s implementation strategy carries a significant performance penalty? I think possibly there are some misconceptions in this thread about how Go’s implementation actually works.