Just an FYI, it is possible to profile "deployment of a rails app to
V3", using the NetBeans Profiler and the V3 plugin. 99% of what this
measures is Rails startup, as invoked by JRuby.
I actually did this a while back to see whether the results had any
value for end users (doubtful - it just shows JRuby interpreter over and
over). I'll poke around to see if I still have the saved stats. It
might have value for your team. It should be easy enough to recreate.
It's just a bit time & memory consuming while the profiler instruments
things and you have to manually attach the profiler to V3 since Rails
project has no profiler integration points.
-Peter
Charles Oliver Nutter wrote:
Charles Oliver Nutter wrote:
Now that we've gotten JRuby's own startup time down pretty low, I
thought I'd start examining the startup time of nontrivial real-world
apps. The biggest one of those, obviously, is Rails.
Rails 2.1 with Mongrel (in development mode) starts up in about 12
seconds on my machine, using soylatte Java 6, on OS X 10.5, a Core
Duo 2.16GHz processor, and 2GB of memory. C Ruby starts up in about 8
seconds, so we're actually not so far off the mark here.
I added a ParserStats MBean to explore whether parse time might be a
problem. Of course without knowing MRI's parse time, it's hard to
know if this is good or bad, but here's the stats I gathered:
* A total of 5.512MB of source are parsed during Rails startup
* Total parse time spent was around 3.08s
* There were 503 parses due to file loads
* There were 1943 parses due to evals
One more metric on parsing...
I pulled out the long benchmark from bench_eval and ran it with
--manage to compare the total time versus the parse time. The two runs
of the eval benchmark were 18.2s and 17.9s for a total of about 36.1s.
According to the ParserStats MBean, total parse time for the whole run
was 32.66s. So I think it's at least safe to say that almost all the
overhead of eval is parsing/ast construction.
- Charlie
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email