8 votes

Les performances de Ruby

J'ai très envie de développer ma première application Ruby, car mon entreprise a finalement approuvé son utilisation en interne.

Dans tout ce que j'ai lu sur Ruby jusqu'à la version 1.8, il n'y a jamais rien de positif sur les performances, mais je n'ai rien trouvé sur la version 1.9. Les derniers chiffres que j'ai vus sur la version 1.8 indiquaient qu'elle était nettement plus lente que la plupart des autres versions, j'espère donc que ce problème a été résolu dans la version 1.9.

Les performances se sont-elles considérablement améliorées ? Y a-t-il des choses concrètes que l'on peut faire avec les applications Ruby (ou des choses à éviter) pour maintenir les performances au meilleur niveau possible ?

8voto

Matt Sheppard Points 32256

Il existe des comparaisons entre 1.8 et 1.9 à l'adresse suivante http://www.rubychan.de/share/yarv_speedups.html . Globalement, il semble que la version 1.9 soit beaucoup plus rapide dans la plupart des cas.

4voto

Mike Deck Points 7443

Si l'évolutivité et les performances sont vraiment importantes pour vous, vous pouvez également consulter le site suivant Ruby Enterprise Edition . Il s'agit d'une implémentation personnalisée de l'interpréteur Ruby qui est censée être bien meilleure en ce qui concerne l'allocation de mémoire et le ramassage des déchets. Je n'ai pas vu de mesures objectives le comparant directement à JRuby, mais toutes les preuves anecdotiques que j'ai entendues étaient très très bonnes.

C'est la même société qui a créé Passenger (alias mod_rails) que vous devriez absolument consulter comme solution de déploiement de rails si vous décidez de ne pas suivre la voie de JRuby.

2voto

m_sharp Points 611

Matz ruby 1.8.6 est beaucoup plus lent en ce qui concerne les performances et 1.9 et JRuby font beaucoup pour l'accélérer. Mais les performances ne sont pas telles qu'elles vous empêcheront de faire tout ce que vous voulez dans une application web. Il existe de nombreux sites Ruby on Rails de grande taille qui se débrouillent très bien avec le langage "interprété plus lent". Lorsque vous mettez à l'échelle des applications web, il y a des problèmes de performance bien plus urgents que la vitesse du langage dans lequel vous l'écrivez.

1voto

Matt Sheppard Points 32256

En fait, j'ai entendu de très bonnes choses sur les performances de l'implémentation de la JVM, JRuby. C'est tout à fait anecdotique, mais cela vaut peut-être la peine de s'y intéresser.

Voir aussi http://en.wikipedia.org/wiki/JRuby#Performance

0voto

fresskoma Points 121

Consultez "Writing Efficient Ruby Code" d'Addison Wesley Professional :

http://safari.oreilly.com/9780321540034

J'ai trouvé des idées très utiles et intéressantes dans ce court ouvrage. Et si vous vous inscrivez à l'essai gratuit de 10 jours, vous pourrez le lire gratuitement. (Il compte 50 pages et l'essai vous donne droit (AFAIR) à 100 pages vues).

https://ssl.safaribooksonline.com/promo

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X