From: Michal Suchanek Date: 2009-01-26T23:27:05+09:00 Subject: Re: Choosing the most appropiate Ruby version and programming model to develop a SIP server On 23/01/2009, Brian Candler wrote: > IƱaki Baz Castillo wrote: > > PPD: If not, any Ruby "version" and programming model implementation > > (mantained and robust) running on that Ruby version? (I know my question > > is > > very difficult to answer, but I would really appreciate it). > > > I don't have enough experience with a wide enough range implementations > to answer that properly. > > 1.8.6p114 has been good to me. You have to be very careful with later > 1.8.6's to avoid the broken ones. The latest 1.8.6 should be as good as 1.8 ruby goes. There was a 1.8.6 release just after a vulnerability report that fixed the vulnerability but broke other things but that is hopefully not going to repeat. > > I tried Jruby once, taking an existing Rails app and packaging it as a > war file with warbler. With no clients using it, the JVM took about > 600MB of RSS, and the response time was rubbish. However that was a year > or so ago, and there are plenty of people who swear by (rather than at) > the J-word. JRuby is a good option if you do not require any C extensions. The startup is slow (and hence the first few requests) but the JVM is better built than MRI (they had much more time for that). You get optimization of long running processes and sound memory management. You also get real threads and some Java libraries if you need that, Debugging problems with either VM is hard, and it depends on the language you are familiar with (Java vs C). Recently MRI has improved as well, though. Some memory leak that caused my processes to get twice as large with MRI compared to JRuby is gone, at least in latest 1.8.7 (which I don't recommend because it differs significantly from earlier 1.8 and there is no sane packaging of it for some platforms). I currently don't run 1.8.6 because 1.8.7 is packaged in Debian so I updated my code to support that. Thanks Michal