Charles Oliver Nutter wrote:
I just committed a series of changes I've been working on to refactor
Java Integration for performance, memory, etc. On my tests, it seems to
be much faster, and should be using less memory and be easier on the GC.
But since I've only run my own microbenchmarks, I'd appreciate others
testing out their apps.
Just to clarify what was actually done as part of the "part 1" work:
- Fields and methods are now using the fastest possible dispatch logic
in JRuby (though still using Java reflection)
- Almost all of the throw-away reboxing of arguments has been
eliminated; coercible types are coerced directly to their Java type and
passed in, while wrapped types are quickly unwrapped and passed straight
through
- Overload matching used to build an ArrayList of argument types for
every call, just to get a composite key to use for caching the
appropriate overload. Now the code just builds an int key based on a
composite hashcode from all arg classes.
All this should add up to quite a bit better performance when invoking
Java methods.
- Charlie
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email