From: "Martin J. Dürst" Date: 2015-03-09T18:43:05+09:00 Subject: [ruby-core:68464] Re: GSoC 2015: JIT Compiler Hello Jakub, On 2015/03/09 02:29, Jakub Trzebiatowski wrote: > Quoting Ideas List: > > "MRI executes Ruby via an interpreted stack-machine bytecode language known as YARV (Yet Another Ruby VM) bytecode. The execution of this bytecode could be improved by a mixed-mode execution strategy which looks for frequently executed code and JITs the corresponding YARV bytecode to architecture-dependent machine language.��� Are you referring to this: https://github.com/rubygsoc/rubygsoc/wiki/Ideas-List ? I'm not sure you'll get feedback from the responsible people on this list; maybe making a pull request is an easier way to get their attention. > That���s a great idea, but in my opinion it���s totally imposible for a single student to write a modern JIT compiler in four months. I'm not an expert, but I'd tend to agree. > On the other hand, I think that it���s possible to integrate Ruby with state-of-the-art LuaJIT VM, which features lighting fast bytecode interpreter and JIT compiler. I believe that all Ruby language features could be compiled to LuaJIT bytecode, although that needs further investigation. That would probably take me all remaining 8 days. What do you mean by "all remaining 8 days?". As for feasibility, I think the most difficult part would be to handle Ruby's blocks. I don't think Lua has blocks, so this may be hard. > That leads to my question: would you at least consider accepting such a student proposal, or should I not waste my time and search for another project? I am not involved in this, so I can't give you a definitive answer, but I think it would be good to try out whether/how Ruby can be sped up by JIT compilation. Maybe the goal of the project should just be to implement some JIT compilation; whether this is done from YARV to e.g. LLVM, or from Ruby directly to something like LuaJIT, or from YARV to LuaJIT, could be an implementation decision by the student (together with the mentor). Regards, Martin.