speed-up yaml/yecht loading
---------------------------

                 Key: JRUBY-4268
                 URL: http://jira.codehaus.org/browse/JRUBY-4268
             Project: JRuby
          Issue Type: New Feature
          Components: Extensions, Performance
    Affects Versions: JRuby 1.4
            Reporter: Vladimir Sizikov


Now that other low hanging fruits for speeding-up the rubygems loading are 
eliminated, the yaml/yecht startup is the most significant contributor to slow 
rubygems loading.

Take a look, simple "require 'yaml'" takes about 300+ms. Entire rubygems 
startup is 800+, so almost half of that time is spent in yaml.

If only we could eliminate, for example, loading of date (or lazy-load it 
somehow), that would be a significant boost.

{noformat}
#>jruby -b -e "require 'yaml'"
  -> builtin/core_ext/symbol
  <- builtin/core_ext/symbol - 41ms
  -> enumerator
  <- enumerator - 5ms
  -> yaml
    -> stringio
    <- stringio - 9ms
    -> yaml/compat
    <- yaml/compat - 11ms
    -> yaml/error
    <- yaml/error - 2ms
    -> yaml/yecht
      -> yecht
      <- yecht - 78ms
      -> yaml/basenode
        -> yaml/ypath
        <- yaml/ypath - 6ms
      <- yaml/basenode - 29ms
    <- yaml/yecht - 110ms
    -> yaml/tag
    <- yaml/tag - 6ms
    -> yaml/stream
    <- yaml/stream - 1ms
    -> yaml/constants
    <- yaml/constants - 2ms
    -> yaml/rubytypes
      -> date
        -> rational
        <- rational - 14ms
        -> date/format
          -> rational
          <- rational - 1ms
        <- date/format - 78ms
      <- date - 177ms
      -> yaml/compat
      <- yaml/compat - 0ms
    <- yaml/rubytypes - 217ms
    -> yaml/types
      -> yaml/compat
      <- yaml/compat - 0ms
    <- yaml/types - 14ms
  <- yaml - 400ms
{noformat}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to