Does the TorqueBox Ruby application platform work with Ruby Enterprise Edition? And if so then is there any noticeable difference between REE and Ruby 1.9.x when used with TorqueBox?
Does TorqueBox provide REE support and how well?
183 views Asked by matsko AtThere are 3 answers
According to the TorqueBox documentation it's default configuration is for JRuby. That being said, it is open source and the according resources could most likely be modified to use the REE interpreter or a 1.9.x standard interpreter, however the latest version of JRuby is compliant with 1.9.2 and generally gets better performance with extended periods of running time.
I would advise using their default configuration employing JRuby.
The only reason I ever used REE was for the copy-on-write friendliness allowing me to fork child processes at a low memory cost.
Other than TorqueBox being limited to JRuby (due to certain dependencies), it's a platform that scales using threads rather than processes. Ruby 1.8 (and REE which is 1.8) use green threads and it's not recommended. Ruby 1.9 improves on this with native threads, however there is still a global interpreter lock (GIL) so it's still not very efficient in most cases (there are some cases where it does improve efficiency).
But, using either JRuby or Rubinius which don't have the GIL allow for true threading, which in the long run allows for a lot more efficient memory usage, better garbage collection and allows you to use threads where you would normally spin up new processes.
Having read through the docs of TorqueBox, it seems like an amazingly powerful all-in-one platform to deploy Ruby applications to. It's definitely worth a shot under JRuby.
Torquebox only runs applications on the JRuby platform. It can run different apps in 1.8 or 1.9 mode but does not support some gems that depend on C extensions.