Lexer cache implementation
--------------------------

                 Key: JRUBY-2930
                 URL: http://jira.codehaus.org/browse/JRUBY-2930
             Project: JRuby
          Issue Type: Improvement
          Components: Compiler
    Affects Versions: JRuby 1.1.3
            Reporter: Greg Fodor
         Attachments: lexer_cache.patch

Attached is the patch against JRuby 1.1.3 for the lexer cache implementation 
I've been working on. As is, the advantage of using it is to increase the 
startup time of glassfish and runs across nailgun. In practice however I have 
run into trouble with nailgun since it seems to leak memory due to the 
finalizers not being called -- I have, however, confirmed that the time for 
startup drops by several seconds (approximately 15%) for runs in which the 
memory has not leaked into swap.

I haven't tested this with glassfish yet, I apologize for not having this more 
put together but I figure it is something you guys might be able to use anyway. 
I've left the serialization code in there as comments for now, since I spent 
some time on it and it seems to work, but the performance is a tie between 
deserializing a binary cache from disk and just lexing the file. The 
implementation in the patch just keeps a cache in memory that can be shared 
across ruby runtimes.



-- 
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