3 ms·
There are some convincing rationales [1]. In short, they chose to trade-off warm-up time and (probably) base line performance for implementation complexity and
by lifthrasiir 8y ago
There are some convincing rationales [1]. In short, they chose to trade-off warm-up time and (probably) base line performance for implementation complexity and peak performance after warming up. I'm pretty much amazed that this idea does seem to work somehow.
[1] https://github.com/vnmakarov/ruby/tree/rtl_mjit_branch#a-few-possible-approaches-in-jit-implementation https://github.com/vnmakarov/ruby/tree/rtl_mjit_branch#a-few...
- ksec 8y agois Vladimir still working on Ruby?
- rurban 8y agoFor sure it works, because it's the most primitive hack one can think of. But it doesn't scale when the filesystem locking gets in your way, esp. on slow systems. In Perl we did something similar with an embedded tcc, but then eventually switched to emit machine-code directly to memory, or using llvm with linked bitcode, as later done in postgresql. Shame that his stack branch also got turned down, because this was more important.