

Ruby Performance in the Rails Development Environment - kristianp
http://erik.debill.org/2011/02/03/ruby-performance-in-the-rails-development-environment

======
ricaurte
I've had this problem as well while developing with Rails. I've been doing
some lisp development using the teepeedee2 webserver and I've found a way to
make a test server that will most of the time render test pages in less than a
second, because asdf smartly only recompiles those pages that have been
altered. The times it takes longer are when I modify the code for teepeedee2.

One problem I did have was that certain portions of my code would no longer
work after reloading the system - for example I would store function
references in variables and if those pages recompiled I would lose those
variables that I set. A way I found around it was that each time a page was
sent to the webserver and after it reloaded the system, I would have it reload
those specific variables. Now if something like that could work in rails,
where you always reload specific pieces of code that would no longer work if
their underlying code was modified, then you might be able to make it work.

------
jim_h
How compatible is jruby 1.6 to ruby 1.9.2?

I'd also be interested in seeing REE stats.

~~~
bradleyland
Close, but not 100%. Have a look at the RC1 release blog:

<http://jruby.org/2011/01/10/jruby-1-6-0-rc1.html>

------
snprbob86
The author mentions service-oriented designs as means to improving iteration
time. However, it's also a great way to enable parallel development and
incremental rollout, as well as reduce code complexity. I'd really like to see
more work go into making services more easily. Right now, it's simply too
difficult to set up new services. Each one needs it's own version control,
staging/production servers, etc. etc. I'd love to see something to help spin
up everything you'd need for a new service instantly.

~~~
aaronblohowiak
Going from monolithic app to SOA does introduce some complexity:

Services complicate the debugging process. Also, parallel development means
more co-ordination overhead. Deployments become a little trickier -- with a
monolithic app, you can easily roll out one version while the other version is
removed from the load balancers. With services, you start getting into
supporting different versions of services (through forwards or backwards
compatibility) or requiring downtime.

~~~
gnufied
Not to mention test driving a SOA app is much harder than writing a monolithic
Rails app.

------
joevandyk
This got me inspired to try jruby on my larger Rails 2.3 application.

With both class caching turned off (development) and on (production), jruby
1.5 performed about 2x worse than REE+Passenger. And used more memory. Not
sure why.

------
jarin
I'd like to see the stats for Ruby Enterprise Edition too.

