• [ << ]
  • [ 0 ]
  • [ 1 ]
  • [ >> ]
May '06
19

Geïnterpreteerde talen hebben de naam traag te zijn. Hoe zou het zitten met de performance van Ruby on Rails ?

Stefan Kaes is de auteur van een utility om de performance van RubyOnRails te meten. Met behulp van zijn utility demonstreerde Stefan welke soorten pagina's snel en langzaam werkten en hoe je ze mbv van caching sneller kon maken. Als laatste demonstreerde hij een (commercieel) product waarmee je Ruby programma's kan profilen. Hiermee liet hij constructies zien in Rails die relatief veel tijd kosten. Zo is bijvoorbeeld het omzetten van een database record naar een Ruby object relatief traag, dus moet je grote resultsets niet gebruiken. Ook de taalconstructie in Ruby die hashes gebruikt is veel trager dan een directe aanroep. Al met al een leerzaam maar wel wat droog verhaal. Zeker met een afterlunch dip :-)

Als geïnterpreteerd Ruby niet snel genoeg is dan compileer je het toch gewoon ?

Inderdaad. Wilco Bauwer heeft als een uit de hand gelopen studieopdracht een compiler geschreven die Ruby omzet in .Net byte codes zodat je je ruby scripts kan draaien op Windows en ook van de features ervan gebruik kan maken. Wilco demonstreerde dit door een wat componenten bij elkaar te harken en de trailer van Mission Improbable 3 af te spelen op de zijkant van een draaiende Kubus. Alhoewel zijn compiler nog niet helemaal af is denk ik dat het wel goed zit met de .Net integratie :-).

Ook voor compilatie naar Java byte codes is er een compiler beschikbaar : JRuby .

De laatste presentie van de dag ging over meta-programmeren. Dit is de bijzonder handige eigenschap van Ruby die het mogelijk maakt om methoden te herdefiniëren of te wrappen. Vergelijkbaar met Aspect Oriented technieken of het gebruik van dynamic proxies in Java. Alleen dan veel makkelijker. Gedemonstreerd werd onder andere hoe je eenvoudig getters en setters kan toevoegen en type checking kan implementeren zonder de methode zelf aan te passen. Lees er meer over .

Huis de Voorst Daarna was het tijd voor de borrel op het bordes van het kasteel, filosoferend over de mogelijkheden van Ruby. Al met al was het een leuke en leerzame dag. Volgend jaar weer :-)

Heb ik een antwoord gekregen op de vragen die ik had ?

Op het eerste deel wel : na vandaag ben ik ervan overtuigd dat RubyOnRails een leuke en efficiënte manier is om webapplicaties in elkaar te zetten. Met name het midden en klein bedrijf zal hier erg gelukkig van worden. Over het integratie aspect ben ik voorzichtiger alhoewel RubyOnRails Web Service support heeft en dat alles is wat je nodig hebt volgens sommigen :-) Je kan vanuit Ruby zelfs EJBs kan aanroepen als je JRuby gebruikt. Wel jammer dat Rails er nog niet op draait, maar dat is een kwestie van tijd :-)

RubyOnRails en de Integratie ervan met andere systemen is vol op in ontwikkeling. Het zal voor een belangrijk deel het succes bepalen als een vervangende web frontend technologie voor Java. Misschien een leuk thema voor Ruby en Rails 2007 :-)

Lees hier een serieuze evaluatie met voor en nadelen tov Java.

  • [ << ]
  • [ 0 ]
  • [ 1 ]
  • [ >> ]