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