I’m starting research about changes in MRI since 1.87 to 2.2. Also I
want to compare it with JRuby.
Till now I found information that it works like that:
Ruby 1.8.7 - change OS Thread to Green threads, through GIL, there is
possible only one thread to execute at time(because of GIL and safety)
Ruby 1.9 - change OS Thread to Native threads, through GIL, there is
still possible only one thread to execute at time.
Jruby - uses JVM instead of MRI, so there is no GIL and can run multiple
threads on few cores. JRuby use Native Threads.
I know that in Ruby 2.1 and 2.2 there are rich improvements of Garbage
Collector, but couldn’t find confirmed information about model of Thread
implementing in MRI, and about GIL.
Did someone have this kind of information?
Did my research are right?
Please share some links or your knowledge.
I will be very grateful for any help.