3 ms·
This is why Cranelift is being worked on. There is also a Rust interpreter, miri. I think starting with LLVM was the right decision (and one that was I was pri
by pcwalton 7y ago
This is why Cranelift is being worked on. There is also a Rust interpreter, miri.
I think starting with LLVM was the right decision (and one that was I was primarily responsible for). Rust would lose most of its benefits if it didn't produce code with performance on par with C++. LLVM is not the fastest compiler in the world (though it's not like it's horribly slow either), but its optimization pipeline is unmatched. I don't see replicating LLVM's code quality as feasible without a large team and a decade of work. Middling code gen performance is an acceptable price to pay until we get Cranelift; the alternative, developing our own backend, would mean not being able to deploy Rust code at all in many scenarios.
- eikenberry 7y agoThanks for the pointer! I was unfamiliar with Cranelift and it seems like a promising tech. I'll keep an eye on it in hopes that once it is stable I'll be able to put together a development environment that allows for the fast turnaround I prefer.
- voldacar 7y agoForgive me if this is ignorant, since I havent done any benchmarks on this in a while, but doesnt GCC produce slightly faster code on average across a wide set of benchmarks compared to clang/LLVM?
- pcwalton 7y agoPerhaps, but the advantages of a large third-party ecosystem around LLVM outweighed any performance differences between GCC and LLVM.
- oscargrouch 7y agoAt least in these benchmarks that phoronix run time-to-time, (so they at least can be compared to their older self) LLVM, in its Clang incarnation, is finally getting some parity in execution times with GCC https://www.phoronix.com/scan.php?page=article&item=gcc-clang-3960x&num=7 https://www.phoronix.com/scan.php?page=article&item=gcc-clan... Of course, benchmarks, yada yada, but at least is some sort of comparison axis where the improvement over the years is clear.
- voldacar 7y agoThanks for the link. I was probably thinking about some older phoronix benchmarks when I made my post