1 min read

JRuby compiler. Benchmarks soon(tm)

Ik moet dringend mijn verlsagje over RailsConfEurope afwerken. Een van de Coole mensen die ik de tweede dag sprak, was Charles Nutter, één van de twee ontwikkelaars van JRuby die door Sun aangenomen werden om JRuby verder uit te werken. Dat je met JRuby coole dingen kon doen, was toen al duidelijk, maar ik zag dat er meer mogelijk was, en informeerde bij hen naar hun plannen voor een Ruby "compiler". Ik was blij verrast te horen dat ze dachten die binnen een maand af te hebben.

Groot was dan ook mijn vreugde toen ik deze morgen las dat ze ermee klaar waren. Hun JRuby compiler is af! Waarom is dat nu zo stoer? Wel, Ruby is een interpreted taal. Dat wil zeggen dat elk lijntje source code elke keer dat het geladen wordt, geanalyseerd en uitgevoerd wordt, net zoals bij bv. PHP of Perl. Dat geeft veel vrijheden, maar vertraagt ook de uitvoering van de code. De JRuby compiler vertaalt Ruby code naar "Java Bytecode", die veel sneller uitgevoerd kan worden. Gevolg: je programma zal waarschijnlijk een stuk sneller werken! Het mooie aan de oplossing van Charles en co, is dat JRuby nog altijd een Ruby interpreter aan boord blijft hebben. Sommige stukken code kan je immers onmogelijk compileren (bv eval stukken). Ook deze constructies blijven dus mogelijk in JRuby.

We gaan de eerstvolgende dagen wat Benchmarks draaien, en zullen de resultaten zeker publiceren!