SlideShare a Scribd company logo
1 of 29
Download to read offline
Écosystème Ruby :
            Enjeux et Perspectives




Yann Klis, MiniConf, 11 mars 2008
Présentation
 Yann Klis
 Formation à Strasbourg (réseaux et applicatifs)
 grandes entreprises, start'up, SSII
 fondateur de Novelys (Strasbourg) en 2005
  spécialisée dans le développement d'applications web
basée sur Ruby et Rails (et occasionnellement Python)




                      Yann Klis, Novelys, 11 mars 2008
“Rails is the killer app for Ruby.”
        Yukihiro Matsumoto, Créateur du langage Ruby




             Yann Klis, Novelys, 11 mars 2008
Plan
Virtual Machines
Serveurs web
Framework Web
Divers




                   Yann Klis, Novelys, 11 mars 2008
Plan
Virtual Machine




                  Yann Klis, Novelys, 11 mars 2008
“Un logiciel ou interpréteur qui isole
 l'application utilisée par l'utilisateur
   des spécificités de l'ordinateur.”
                                                 Wikipedia




              Yann Klis, Novelys, 11 mars 2008
VM “officielles”
Ruby 1.8
  aka MRI (Matz' Ruby Implementation)
  pas très performante
  green threads (fastthread)
YARV et Ruby 1.9
  YARV == Yet Another Ruby VM (1 personne)
  sorti en décembre 2007
  pas encore pour la production
  meilleurs perfs que MRI

                   Yann Klis, Novelys, 11 mars 2008
Rubinius
Architecture basée sur Smalltalk-80
  “petite” VM écrite en C
  Ruby pour le reste
Intégration des dernières recherches en ingéniérie
logicielle
Meilleurs perfs que VM 1.8 et 1.9 (dans certains cas)
EngineYard (4 personnes)




                   Yann Klis, Novelys, 11 mars 2008
Utilisation de VM existantes
JRuby / IronRuby
  JVM / VM .Net et Dynamic Language Runtime (DLR)
  Sun + ThoughtWorks (6 personnes) / Microsoft
JIT / AOT
Interaction avec la VM hôte et le code executé dans
d'autres langages
Plateforme Libre (Mono)




                   Yann Klis, Novelys, 11 mars 2008
Autres VM
Xruby
  basé sur la JVM
  compile le code Ruby vers du bytecode Java
Cardinal
  VM Parrot




                    Yann Klis, Novelys, 11 mars 2008
Plan
Virtual Machines
Serveurs web




                   Yann Klis, Novelys, 11 mars 2008
Chronologie
              (sur 2 ans)

mod_ruby
CGI
FastCGI
(SCGI)
Mongrel
EventedMongrel (emongrel)
Thin
Ebb ?
mod_rubinius ?

       Yann Klis, Novelys, 11 mars 2008
Chronologie
mod_ruby (Apache)
CGI
FastCGI
(SCGI)




      Yann Klis, Novelys, 11 mars 2008
Chronologie
Mongrel
  “plain HTTP”
  parser écrit en Ragel et en C
Evented Mongrel (emongrel)
  - thread, + event (EventMachine)
Thin
  parser de Mongrel (vitesse et sécurité)
  EventMachine
  Rack

           Yann Klis, Novelys, 11 mars 2008
Chronologie (future ?)
Ebb
  libev
  “mongrel state machine”
  Rack
  => quasiment tout en C
mod_rubinius
  module pour Apache et Nginx




          Yann Klis, Novelys, 11 mars 2008
Quelques chiffres




    Yann Klis, Novelys, 11 mars 2008
Plan
Virtual Machines
Serveurs web
Frameworks web




                   Yann Klis, Novelys, 11 mars 2008
Problèmes liés à Rails
Trop de “hype” (maturité de certains plugins)
“thread safety”
Montée en charge




              Rails n'est pas le meilleur outil
            pour tous les développements web



                   Yann Klis, Novelys, 11 mars 2008
“Autres” framework Web
Ramaze
Camping (4k)
Nitro
Cerise (inspiration de J2EE)
Coset (adapteur Rack pour REST)
Halcyon (JSON)
                                                       moins de magie,
IOWA                                                  adapté à un usage
                                                          particulier,
Unicycle (EventMachine)                              choix de composants
                                                          particuliers,
Merb                                               basé sur d'autres concepts
...                  Yann Klis, Novelys, 11 mars 2008
Plan
Virtual Machines
Serveurs web
Frameworks web
Divers




                   Yann Klis, Novelys, 11 mars 2008
EventMachine
Ruby et C
“event driven” (select, epoll, kqueue, etc)
Reactor Pattern
Comparable à Twisted dans le monde Python




                    Yann Klis, Novelys, 11 mars 2008
EventMachine (2)

Concurrency: 20
Requests: 2000

EventMachine: Requests per second: 3327.79/sec (mean)
Twisted: Requests per second: 3194.76/sec (mean)

Concurrency: 200
Requests: 20000

EventMachine: Requests per second: 4401.80/sec (mean)
Twisted: Requests per second: 4761.90/sec (mean)


                   Yann Klis, Novelys, 11 mars 2008
EventMachine (3)
require 'rubygems'
require 'eventmachine'

module Echo
 def receive_data data
  send_data data
 end
end

EM.run {
  EM.start_server "0.0.0.0", 10000, Echo
}

                    Yann Klis, Novelys, 11 mars 2008
Rack
Interface entre un serveur web et un framework Ruby
Interface Rack dispo pour Rails, Ramaze, Merb, etc




                  Yann Klis, Novelys, 11 mars 2008
Divers - Shoes
Toolkit et gestion de fenêtre
Inspiré des pratiques du web



  Shoes.app {
    button("Press Me") { alert("You pressed me") }
  }




                    Yann Klis, Novelys, 11 mars 2008
Divers - Erlang/Ruby
Erlectricity
   Pont entre des processus Erlang et Ruby
Fuzed
   Faire tourner des applis Rails derrière Yaws




                   Yann Klis, Novelys, 11 mars 2008
Divers
Starling
   Gestion de file d'attente développé par Twitter
Revactor
   “Actor” (thread avec boîte aux lettres)
   S'inspire de Erlang, Scala, etc




                    Yann Klis, Novelys, 11 mars 2008
Conclusion
Univers Ruby de plus en plus mature
Gestion de la “courbe de hype”
Logiciel de plus en plus pointu
Logiciel “phare” (EventMachine, Rack, Rubinius)
Performance ?
Et le “desktop” ?




                    Yann Klis, Novelys, 11 mars 2008
Ressources
http://www.rubyinside.com/
http://ramaze.net/#other-frameworks
http://rubyforge.org/news/



    Merci de votre attention !

                      (contact@novelys.com)




                    Yann Klis, Novelys, 11 mars 2008

More Related Content

Viewers also liked

Thématique du foncier dans la mise en oeuvre de la déclaration de Dakar sur l...
Thématique du foncier dans la mise en oeuvre de la déclaration de Dakar sur l...Thématique du foncier dans la mise en oeuvre de la déclaration de Dakar sur l...
Thématique du foncier dans la mise en oeuvre de la déclaration de Dakar sur l...IIED
 
Mr. Keil Werner - Stem demo camp
Mr. Keil Werner - Stem demo campMr. Keil Werner - Stem demo camp
Mr. Keil Werner - Stem demo campbeloslab
 
Pavel Rumantsev - Html5
Pavel Rumantsev - Html5Pavel Rumantsev - Html5
Pavel Rumantsev - Html5beloslab
 
Konstantin Slisenko - Belarus Open Source Lab
Konstantin Slisenko - Belarus Open Source LabKonstantin Slisenko - Belarus Open Source Lab
Konstantin Slisenko - Belarus Open Source Labbeloslab
 
L’analyse comparative des titres donnés sur les parcelles rizicoles au Mali, ...
L’analyse comparative des titres donnés sur les parcelles rizicoles au Mali, ...L’analyse comparative des titres donnés sur les parcelles rizicoles au Mali, ...
L’analyse comparative des titres donnés sur les parcelles rizicoles au Mali, ...IIED
 
Menu for bigbear trip august 2011
Menu for bigbear trip august 2011Menu for bigbear trip august 2011
Menu for bigbear trip august 2011nguyenlson
 
Pavel Rumantsev - Java Script
Pavel Rumantsev - Java ScriptPavel Rumantsev - Java Script
Pavel Rumantsev - Java Scriptbeloslab
 
Sergey Gavruk - WebMatrix
Sergey Gavruk - WebMatrixSergey Gavruk - WebMatrix
Sergey Gavruk - WebMatrixbeloslab
 
Mr. Keil Werner - UOMO 2011
Mr. Keil Werner - UOMO 2011Mr. Keil Werner - UOMO 2011
Mr. Keil Werner - UOMO 2011beloslab
 
Thuatngu an bach
Thuatngu an bachThuatngu an bach
Thuatngu an bachnguyenlson
 
Male sexual health
Male sexual healthMale sexual health
Male sexual healthjfarmer222
 
Sergey Gavruk - Mix11
Sergey Gavruk - Mix11Sergey Gavruk - Mix11
Sergey Gavruk - Mix11beloslab
 
The Impact of Wearable Technology on Performance Support
The Impact of Wearable Technology on Performance SupportThe Impact of Wearable Technology on Performance Support
The Impact of Wearable Technology on Performance SupportDavid Kelly
 
Formes juridiques possibles de l’accord qui découlera de la conférence de Paris
Formes juridiques possibles de l’accord qui découlera de la conférence de ParisFormes juridiques possibles de l’accord qui découlera de la conférence de Paris
Formes juridiques possibles de l’accord qui découlera de la conférence de ParisIIED
 
Mr. Ankur Sharma - PDE good practices
Mr. Ankur Sharma - PDE good practicesMr. Ankur Sharma - PDE good practices
Mr. Ankur Sharma - PDE good practicesbeloslab
 

Viewers also liked (20)

Happy Birthday Greta!
Happy Birthday Greta!Happy Birthday Greta!
Happy Birthday Greta!
 
Thématique du foncier dans la mise en oeuvre de la déclaration de Dakar sur l...
Thématique du foncier dans la mise en oeuvre de la déclaration de Dakar sur l...Thématique du foncier dans la mise en oeuvre de la déclaration de Dakar sur l...
Thématique du foncier dans la mise en oeuvre de la déclaration de Dakar sur l...
 
Mr. Keil Werner - Stem demo camp
Mr. Keil Werner - Stem demo campMr. Keil Werner - Stem demo camp
Mr. Keil Werner - Stem demo camp
 
Pavel Rumantsev - Html5
Pavel Rumantsev - Html5Pavel Rumantsev - Html5
Pavel Rumantsev - Html5
 
Konstantin Slisenko - Belarus Open Source Lab
Konstantin Slisenko - Belarus Open Source LabKonstantin Slisenko - Belarus Open Source Lab
Konstantin Slisenko - Belarus Open Source Lab
 
L’analyse comparative des titres donnés sur les parcelles rizicoles au Mali, ...
L’analyse comparative des titres donnés sur les parcelles rizicoles au Mali, ...L’analyse comparative des titres donnés sur les parcelles rizicoles au Mali, ...
L’analyse comparative des titres donnés sur les parcelles rizicoles au Mali, ...
 
Octobbear
OctobbearOctobbear
Octobbear
 
Menu for bigbear trip august 2011
Menu for bigbear trip august 2011Menu for bigbear trip august 2011
Menu for bigbear trip august 2011
 
Pavel Rumantsev - Java Script
Pavel Rumantsev - Java ScriptPavel Rumantsev - Java Script
Pavel Rumantsev - Java Script
 
Sergey Gavruk - WebMatrix
Sergey Gavruk - WebMatrixSergey Gavruk - WebMatrix
Sergey Gavruk - WebMatrix
 
Mr. Keil Werner - UOMO 2011
Mr. Keil Werner - UOMO 2011Mr. Keil Werner - UOMO 2011
Mr. Keil Werner - UOMO 2011
 
Syllabus
SyllabusSyllabus
Syllabus
 
Algerie francaise 2
Algerie francaise 2Algerie francaise 2
Algerie francaise 2
 
Thuatngu an bach
Thuatngu an bachThuatngu an bach
Thuatngu an bach
 
Male sexual health
Male sexual healthMale sexual health
Male sexual health
 
Sergey Gavruk - Mix11
Sergey Gavruk - Mix11Sergey Gavruk - Mix11
Sergey Gavruk - Mix11
 
The Impact of Wearable Technology on Performance Support
The Impact of Wearable Technology on Performance SupportThe Impact of Wearable Technology on Performance Support
The Impact of Wearable Technology on Performance Support
 
Formes juridiques possibles de l’accord qui découlera de la conférence de Paris
Formes juridiques possibles de l’accord qui découlera de la conférence de ParisFormes juridiques possibles de l’accord qui découlera de la conférence de Paris
Formes juridiques possibles de l’accord qui découlera de la conférence de Paris
 
Mr. Ankur Sharma - PDE good practices
Mr. Ankur Sharma - PDE good practicesMr. Ankur Sharma - PDE good practices
Mr. Ankur Sharma - PDE good practices
 
Haja rakotomandimby madagascar_session12
Haja rakotomandimby madagascar_session12Haja rakotomandimby madagascar_session12
Haja rakotomandimby madagascar_session12
 

Similar to Écosystème Ruby : Enjeux et Perspectives

Run java vs ruby
Run java vs rubyRun java vs ruby
Run java vs rubypinguin666
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloudstefounet
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?benjguin
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?Microsoft
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkMSDEVMTL
 
Java 110605092007-phpapp02
Java 110605092007-phpapp02Java 110605092007-phpapp02
Java 110605092007-phpapp02Rahma Boufalgha
 
Java 110605092007-phpapp02
Java 110605092007-phpapp02Java 110605092007-phpapp02
Java 110605092007-phpapp02Rahma Boufalgha
 
Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Tugdual Grall
 
Présentation GWT au JUG Montréal 14 avril 2011
Présentation GWT au JUG Montréal 14 avril 2011Présentation GWT au JUG Montréal 14 avril 2011
Présentation GWT au JUG Montréal 14 avril 2011Claude Coulombe
 
Gwt présentation-jug-14avr2011
Gwt présentation-jug-14avr2011Gwt présentation-jug-14avr2011
Gwt présentation-jug-14avr2011Montreal JUG
 
Rouabhi algiers meetup
Rouabhi algiers meetupRouabhi algiers meetup
Rouabhi algiers meetupSamir Rouabhi
 
2013 01-08-php-maturite
2013 01-08-php-maturite2013 01-08-php-maturite
2013 01-08-php-maturiteRémi Alvado
 
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)Publicis Sapient Engineering
 
Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Quentin Adam
 
Programmation web asynchrone avec Tornado
Programmation web asynchrone avec TornadoProgrammation web asynchrone avec Tornado
Programmation web asynchrone avec TornadoRonan Amicel
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Camille Roux
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...Microsoft Technet France
 
(courte introduction à) Lean Software Management
(courte introduction à) Lean Software Management(courte introduction à) Lean Software Management
(courte introduction à) Lean Software ManagementNovelys
 

Similar to Écosystème Ruby : Enjeux et Perspectives (20)

Run java vs ruby
Run java vs rubyRun java vs ruby
Run java vs ruby
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloud
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity framework
 
Java 110605092007-phpapp02
Java 110605092007-phpapp02Java 110605092007-phpapp02
Java 110605092007-phpapp02
 
Java 110605092007-phpapp02
Java 110605092007-phpapp02Java 110605092007-phpapp02
Java 110605092007-phpapp02
 
The Future of Javascript
The Future of JavascriptThe Future of Javascript
The Future of Javascript
 
The future of JavaScript
The future of JavaScriptThe future of JavaScript
The future of JavaScript
 
Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)
 
Présentation GWT au JUG Montréal 14 avril 2011
Présentation GWT au JUG Montréal 14 avril 2011Présentation GWT au JUG Montréal 14 avril 2011
Présentation GWT au JUG Montréal 14 avril 2011
 
Gwt présentation-jug-14avr2011
Gwt présentation-jug-14avr2011Gwt présentation-jug-14avr2011
Gwt présentation-jug-14avr2011
 
Rouabhi algiers meetup
Rouabhi algiers meetupRouabhi algiers meetup
Rouabhi algiers meetup
 
2013 01-08-php-maturite
2013 01-08-php-maturite2013 01-08-php-maturite
2013 01-08-php-maturite
 
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
 
Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?
 
Programmation web asynchrone avec Tornado
Programmation web asynchrone avec TornadoProgrammation web asynchrone avec Tornado
Programmation web asynchrone avec Tornado
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...
 
(courte introduction à) Lean Software Management
(courte introduction à) Lean Software Management(courte introduction à) Lean Software Management
(courte introduction à) Lean Software Management
 

Écosystème Ruby : Enjeux et Perspectives

  • 1. Écosystème Ruby : Enjeux et Perspectives Yann Klis, MiniConf, 11 mars 2008
  • 2. Présentation Yann Klis Formation à Strasbourg (réseaux et applicatifs) grandes entreprises, start'up, SSII fondateur de Novelys (Strasbourg) en 2005 spécialisée dans le développement d'applications web basée sur Ruby et Rails (et occasionnellement Python) Yann Klis, Novelys, 11 mars 2008
  • 3. “Rails is the killer app for Ruby.” Yukihiro Matsumoto, Créateur du langage Ruby Yann Klis, Novelys, 11 mars 2008
  • 4. Plan Virtual Machines Serveurs web Framework Web Divers Yann Klis, Novelys, 11 mars 2008
  • 5. Plan Virtual Machine Yann Klis, Novelys, 11 mars 2008
  • 6. “Un logiciel ou interpréteur qui isole l'application utilisée par l'utilisateur des spécificités de l'ordinateur.” Wikipedia Yann Klis, Novelys, 11 mars 2008
  • 7. VM “officielles” Ruby 1.8 aka MRI (Matz' Ruby Implementation) pas très performante green threads (fastthread) YARV et Ruby 1.9 YARV == Yet Another Ruby VM (1 personne) sorti en décembre 2007 pas encore pour la production meilleurs perfs que MRI Yann Klis, Novelys, 11 mars 2008
  • 8. Rubinius Architecture basée sur Smalltalk-80 “petite” VM écrite en C Ruby pour le reste Intégration des dernières recherches en ingéniérie logicielle Meilleurs perfs que VM 1.8 et 1.9 (dans certains cas) EngineYard (4 personnes) Yann Klis, Novelys, 11 mars 2008
  • 9. Utilisation de VM existantes JRuby / IronRuby JVM / VM .Net et Dynamic Language Runtime (DLR) Sun + ThoughtWorks (6 personnes) / Microsoft JIT / AOT Interaction avec la VM hôte et le code executé dans d'autres langages Plateforme Libre (Mono) Yann Klis, Novelys, 11 mars 2008
  • 10. Autres VM Xruby basé sur la JVM compile le code Ruby vers du bytecode Java Cardinal VM Parrot Yann Klis, Novelys, 11 mars 2008
  • 11. Plan Virtual Machines Serveurs web Yann Klis, Novelys, 11 mars 2008
  • 12. Chronologie (sur 2 ans) mod_ruby CGI FastCGI (SCGI) Mongrel EventedMongrel (emongrel) Thin Ebb ? mod_rubinius ? Yann Klis, Novelys, 11 mars 2008
  • 13. Chronologie mod_ruby (Apache) CGI FastCGI (SCGI) Yann Klis, Novelys, 11 mars 2008
  • 14. Chronologie Mongrel “plain HTTP” parser écrit en Ragel et en C Evented Mongrel (emongrel) - thread, + event (EventMachine) Thin parser de Mongrel (vitesse et sécurité) EventMachine Rack Yann Klis, Novelys, 11 mars 2008
  • 15. Chronologie (future ?) Ebb libev “mongrel state machine” Rack => quasiment tout en C mod_rubinius module pour Apache et Nginx Yann Klis, Novelys, 11 mars 2008
  • 16. Quelques chiffres Yann Klis, Novelys, 11 mars 2008
  • 17. Plan Virtual Machines Serveurs web Frameworks web Yann Klis, Novelys, 11 mars 2008
  • 18. Problèmes liés à Rails Trop de “hype” (maturité de certains plugins) “thread safety” Montée en charge Rails n'est pas le meilleur outil  pour tous les développements web Yann Klis, Novelys, 11 mars 2008
  • 19. “Autres” framework Web Ramaze Camping (4k) Nitro Cerise (inspiration de J2EE) Coset (adapteur Rack pour REST) Halcyon (JSON) moins de magie, IOWA adapté à un usage particulier, Unicycle (EventMachine) choix de composants particuliers, Merb basé sur d'autres concepts ... Yann Klis, Novelys, 11 mars 2008
  • 20. Plan Virtual Machines Serveurs web Frameworks web Divers Yann Klis, Novelys, 11 mars 2008
  • 21. EventMachine Ruby et C “event driven” (select, epoll, kqueue, etc) Reactor Pattern Comparable à Twisted dans le monde Python Yann Klis, Novelys, 11 mars 2008
  • 22. EventMachine (2) Concurrency: 20 Requests: 2000 EventMachine: Requests per second: 3327.79/sec (mean) Twisted: Requests per second: 3194.76/sec (mean) Concurrency: 200 Requests: 20000 EventMachine: Requests per second: 4401.80/sec (mean) Twisted: Requests per second: 4761.90/sec (mean) Yann Klis, Novelys, 11 mars 2008
  • 23. EventMachine (3) require 'rubygems' require 'eventmachine' module Echo def receive_data data send_data data end end EM.run { EM.start_server "0.0.0.0", 10000, Echo } Yann Klis, Novelys, 11 mars 2008
  • 24. Rack Interface entre un serveur web et un framework Ruby Interface Rack dispo pour Rails, Ramaze, Merb, etc Yann Klis, Novelys, 11 mars 2008
  • 25. Divers - Shoes Toolkit et gestion de fenêtre Inspiré des pratiques du web Shoes.app { button("Press Me") { alert("You pressed me") } } Yann Klis, Novelys, 11 mars 2008
  • 26. Divers - Erlang/Ruby Erlectricity Pont entre des processus Erlang et Ruby Fuzed Faire tourner des applis Rails derrière Yaws Yann Klis, Novelys, 11 mars 2008
  • 27. Divers Starling Gestion de file d'attente développé par Twitter Revactor “Actor” (thread avec boîte aux lettres) S'inspire de Erlang, Scala, etc Yann Klis, Novelys, 11 mars 2008
  • 28. Conclusion Univers Ruby de plus en plus mature Gestion de la “courbe de hype” Logiciel de plus en plus pointu Logiciel “phare” (EventMachine, Rack, Rubinius) Performance ? Et le “desktop” ? Yann Klis, Novelys, 11 mars 2008
  • 29. Ressources http://www.rubyinside.com/ http://ramaze.net/#other-frameworks http://rubyforge.org/news/ Merci de votre attention ! (contact@novelys.com) Yann Klis, Novelys, 11 mars 2008