▲ | tenderlove a day ago | ||||||||||||||||||||||||||||
It's not being abandoned, we're just shifting focus to evaluate a new style of compiler. YJIT will still get bug fixes and performance improvements. ZJIT is a method based JIT (the type of compiler traditionally taught in schools) where YJIT is a lazy basic block versioning (LBBV) compiler. We're using what we learned developing and deploying YJIT to build an even better JIT compiler. IOW we're going to fold some of YJIT's techniques in to ZJIT. > And if so, will these YJIT features likes Fast Allocations be brought to ZJIT? It may not have been clear from the post, but this fast allocation strategy is actually implemented in the byte code interpreter. You will get a speedup without using any JIT compiler. We've already ported this fast-path to YJIT and are in the midst of implementing it in ZJIT. | |||||||||||||||||||||||||||||
▲ | ysavir a day ago | parent | next [-] | ||||||||||||||||||||||||||||
Thanks for all the work you all are putting into Ruby! The improvements in the past few years have been incredible and I'm excited to see the continuous efforts in this area. | |||||||||||||||||||||||||||||
▲ | pusewicz 11 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
But Aaron, what do you actually do here?! I’m so glad to see your work, and it’s always such a treat to read any of your new posts. Hope to see upcoming ones more often! | |||||||||||||||||||||||||||||
▲ | FooBarWidget a day ago | parent | prev | next [-] | ||||||||||||||||||||||||||||
Why is a traditional method based JIT better than an LBBV JIT? I thought YJIT is LBBV because it's a better fit for Ruby, whereas traditional method based JIT is more suitable for static languages like Java. | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
▲ | strzibny a day ago | parent | prev [-] | ||||||||||||||||||||||||||||
Awesome, thanks for all the good work on Ruby! |