5 ms·
I'm hoping for Cranelift (https://github.com/bytecodealliance/cranelift https://github.com/bytecodealliance/cranelift) to deliver a more JIT-friendly alternativ
by kryptiskt 7y ago
I'm hoping for Cranelift (https://github.com/bytecodealliance/cranelift https://github.com/bytecodealliance/cranelift) to deliver a more JIT-friendly alternative to LLVM (Though it can do AOT compilation too).
Another very interesting project, even if it is slightly intimidating in scope, is GraalVM (https://www.graalvm.org https://www.graalvm.org).
- throwaway894345 7y agoI browsed their github and their linked docs, and it wasn't obvious to me what benefit cranelift has over LLVM. There was one section on implementation differences, but I'm not familiar/smart enough to infer from that what use cases cranelift enables.
- chrisseaton 7y agoI believe compilation speed is much better, for one immediate practical benefit. I think there are others but not sure. Many many people have tried to use LLVM as a JIT and either given up, or had to add significant infrastructure, such as additional IRs, on top to make it work.
- throwaway894345 7y agoSo are those the motivations/design-goals or just nice properties? In particular, is JIT/fast-compilation speed incidental to the relative youth of the project? I.e., presumably fewer optimizations vs LLVM allows the compiler to be faster?
- chrisseaton 7y agoIt's design-goals and tradeoffs. It was a light JIT compiler first, and has been designed that way, while LLVM is an heavy AOT compiler and was designed that way.