Bytecode cache is experimentally released in Ruby2.3
rimuru.lunanet.gr.jp
rimuru.lunanet.gr.jp
It's also worth noting that Ruby 3 in general will have a focus on performance. Matz talked about performance and the Ruby 3x3 effort during his RubyKaigi keynote. The goal of Ruby 3x3 is to make Ruby 3 be 3 times faster than Ruby 2.
Full disclosure: I work for AppFolio which is helping to sponsor the Ruby 3x3 effort.
I think the most realistic option is the idea of putting the LLVM bitcode of MRI's functions into the MRI binary so that an LLVM JIT could optimise through the core library. Evan Phoenix talked about this idea at Ruby Kaigi.
[0] http://www.appfolioinc.com/jobs-openings?p=job%2FoZ1c2fwY (it says Santa Barbara, CA but really anywhere in the US is ok)
I think the main problem of 2-3 transition is not the incompatibilities, but lack of gain. If Py3k is 20% faster than Py2k it's a strong signal for mass upgrading.
I'd be so happy if we just gave up on CPython and everyone put their effort into getting PyPy up to 3.5. That's just me though.
Why is this? I understand the inconvenience of having lots of compiled files in your deployment structure but I guess having a static compile phase would be worse. Any opinions on this?
I think if you could do it transparently as a cache, and out of sight and synchronised properly it would be fine, but writing files everywhere is not ideal. Imagine two users running the same files but with different configurations in the same directory at the same time. It's just a mess waiting to happen.
Don't know if that's Rubinius' or Matz's problem with it though.
EDIT: I meant the default being $HOME/.rbx, not $PWD/.rbx
In any case, Ruby has/had a much different dynamic back then. Most developers using Ruby were doing so because of Rails. When Rails made the move, not switching would have been tech-debt-suicide for any stack depending on Rails or library that was heavily associated with Rails.
I've just recently started using Python...and while there are a few big players who still have SDKs in 2.x...I can't think of any single Python library I've used that has had as much pull as RoR does on Ruby.
It is also worth mentioning that i still need to have Python 2 and 3 installed to properly work on my Linux box. But i havent had needed a Ruby 1.8 since at least 1.5 years now.
So the plan for 2->3 is to have the same "motivational" changes, like a much faster runtime. We can hope :)
Can't believe it is done so late.