Které Ruby je nejrychlejší?
Antonio Cangiano porovnal výkon pěti běhových prostředí pro jazyk Ruby na platformě Windows a svá měření shrnul v článku The Great Ruby Shootout (podobný článek pro platformu Mac vydal před měsícem). Nejrychlejší se ukázala implementace JRuby, následovaná verzemi Ruby 1.9.x Pomyslný žebříček uzavírá Ruby 1.8.7 a IronRuby 1.0.
Zdroj: Ruby Inside
Dodám, že test byl proveden pro dlouho běžící aplikace, kde Java (a asi podobně i .NET) navzdory své pověsti je na tom výkonově dobře. Javisty asi moc nepřekvapí, že pro krátko běžící aplikace není JRuby výkonově vhodné. Překvapením může být spíše větší než očekávaná míra nevhodnosti JRuby pro krátko běžící aplikace, kde i –help může trvat třeba sekundu. Headius (jeden z vývojářů JRuby) psal něco jako že svého výkonu dosáhne JRuby asi po 5s běhu. Psal i nějaké možnosti, jak tu neuvěřitelnou startup prodlevu snížit, myslím, že šlo o JRuby JIT cache (na úrovni JRuby, ne JVM) a pevné nastavení 32b/64b architektury pro nativní části namísto autodetekce.
Nechá říkat, že je JRuby špatné. Pokud by se tu psalo, že JRuby je pomalé, asi bych se jej naopak zastal. Chci jen říct, že to není tak černobílé. A chci, aby se lidé nedivili, až to výkonné JRuby si na –help nějaké aplikace vezme sekundu.