« Return to Thread: Studying Rails startup time

Re: Studying Rails startup time

by Peter Williams-4 :: Rate this Message:

Reply to Author | View in Thread

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


 « Return to Thread: Studying Rails startup time