Confoo 2012 : JRuby

Talk by Charles Nutter, on Friday 2nd March

How to install JRuby :

  • rvm  install jruby and unzip or
  • download tar/zip file from jruby.org or
  • you can use a windows installer from jruby.org

What is bad compared to pure Ruby ?

  • memory footprint, mostly due to the (better) GC; objects are larger, but fewer; BUT : lower memory when using concurrency (for example using rails, each http request will spawn a new Ruby process consuming the same amount of RAM, compared to JRuby  spawning some new threads and keeping its amount of RAM consumed stable and keeping barriers between those threads)
  • c extensions, still experimental

Good

  • Ruby itself (both 1.8.7 and 1.9.2. modes in the same jruby : start it with jruby –1.9)
  • sandboxed jruby (for non thread safe programs, runs in isolated mode)

JVM

  • best GC, support dynamic language
  • ruby code used with Jruby ends up in native code, optimized by the JVM
  • stable threading : jvm threads are OS threads;
  • libraries : tens of thousands of JVM library(Swing demo : Charles built a Swing panel with a button adding statements to jirb )
  • lots of tools : visualvm (demo stressed gc with old and young objects)
  • invoke dynamic : ruby is about calling methods, the jvm from 1.7 optimizes those calls

Android

  • Ruboto : gem install ruboto ; ruboto app; rake : you’re done creating an Android app with JRuby
  • Ruboto irb
  • Jruby 1.7 : invoke dynamic, dalvik enhancement, ruby 1.9 by default

Bonus

  • Charles used the redcar editor, written in jruby + swt
  • trinidad : tomcat like launcher with ruby wrapper
  • torquebox : jboss like launcher (messaging, schedulers, etc…)
  • During his Android demo, Charles used android screencast
  • warbler for war/jar : to wrap your ruby app in a war
  • you can deploy your apps to engine yard cloud

Une réflexion sur « Confoo 2012 : JRuby »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Le temps imparti est dépassé. Merci de saisir de nouveau le CAPTCHA.

Ce site utilise Akismet pour réduire les indésirables. Apprenez comment vos données de commentaires sont traitées.