The language as such is already quite good, in spite of one or other possible improvements on borrow checker ergonomics (e.g. callbacks).
Many commercial use cases require distribution of binary libraries, Rust community might care about winning those customers, or just let them go and leave them to keep using the languages that fulfil such use cases.
Sounds like caching these would be a simpler but solution.
> Many commercial use cases require distribution of binary libraries [...]
Good use case, and in this case another cache would solve the issue as well. Defining a protocol for binary caches and being able to add your own could solve this very well. The same solution could help solve the previous one too.
BTW, if you are in either case, have you looked into Nipxkgs[1]? They might be able to do both, the basic capabilities are there, not sure if the Rust infrastructure[2] already provides it.
[1] https://nixos.org/nixpkgs [2] https://nixos.org/nixpkgs/manual/#users-guide-to-the-rust-in...
Any ideas on when this will be? There has been talk about faster compile times for years now without that much apparent progress.
There has been a lot of progress, it’s just been slow and steady. For example, since the first of 2018: https://perf.rust-lang.org/compare.html?start=2018-01-01&end...
Really? What makes you say that? Have you tried it?
$ git clone git://github.com/BurntSushi/ripgrep
$ cd ripgrep
$ git checkout 0.4.0
$ time cargo +1.12.0 build --release
real 1:09.13
user 2:06.08
sys 2.839
maxmem 359 MB
faults 1292
$ cargo clean
$ time cargo +1.34.0 build --release
real 22.484
user 2:32.66
sys 3.380
maxmem 702 MB
faults 0
That's a >3x wall-clock speedup over the past 2.5 years on a cold start. That's pretty good.Also cold start speed is not really what I care about. I am more concerned with compiler speed while working and running tests. I find that if a language compiler is to slow it breaks flow while testing changes. I haven't seen much mention of the improvements the incremental compiler gives in a while. Last I read was the 2017 blog post [1] during beta and it only showed modest improvements and more recently I only see talk of how it still needs a lot of work [2].
[1] https://internals.rust-lang.org/t/incremental-compilation-be...
[2] https://nicoburns.com/blog/rust-2019/#compile-times-especial...
I don't follow compiler performance developments. I'm just responding to clarify that there has been performance improvements. They have likely just built up over time. I don't think there was any one specific change that dramatically improved things.
[0]: https://github.com/bjorn3/rustc_codegen_cranelift/issues/381
Even for things where debug mode is too slow, Cranelift could be a game changer since it promises to produce more performant binaries than LLVM in debug mode (Idk if it will be fast enough for you use-cases though).
I just wanted to point out that Cranelift won't solve the compile-time issue all by itself.