Ruby performance round up
There was a recent blog post by Antonio Cangiano, an IBM developer from Toronto, benchmarking the performance of a number of different Ruby implementations across multiple platforms. The results were very interesting.
To summarize, the following platforms were tested:
- Ruby 1.8.5-p12 stable on Linux;
- Ruby 1.8.5-p12 stable on Windows Vista;
- Ruby 1.9 on Linux;
- JRuby on Linux;
- Rubinius on Linux;
- Cardinal on Linux;
- Gardens Point Ruby .NET Beta 0.6 on Windows Vista;
Ruby 1.9 on Linux, aka Yarv, came out as the clear winner by far. Ruby 2.0 will build upon Yarv and these tests shows its very promising future.
Interestingly enough, both the JVM and .NET CLR implementations of Ruby, JRuby and Ruby.NET respectively, seem to be in the bottom rung of the performance ladder in these benchmarks. This implies that trying to run Ruby against a virtual machine is performance limiting, possibly discouraging future efforts to bring Ruby to both the Sun and Microsoft development platforms.
Whether this is a good thing or bad thing is debatable. Both companies have been looking for an effective defense against the rise of LAMP and they are likely watching Ruby to see if it is a viable alternative for developers who prefer dynamic typing over static typing. The Rails community would argue that Ruby doesn’t need Microsoft or Sun behind it to succeed as a platform, pointing to PHP as the worthy competitor.
I think Rails still has a very good shot at displacing LAMP as the open source platform of choice for site development. By emphasizing test driven development and reduced code complexity, it has a lot going for it. But Ruby by itself will have more difficulty gaining acceptance in the closed source, Enterprisey space unless it can hold its own against the Next Big Language.