tugwilson | 15 May 15:23
Favicon

Re: [groovy-dev] invokedynamic: Is It What We Really Need?


I have been thinking about possible reasons why we are seeing such a
different level of performance with a similar technique. 

I think the crucial difference may be that I am making calls to static
methods in my case statements whereas the Reflector made calls to instance
methods. Hotspot can immediately see that it's always safe top inline a
static method. For an instance method it has to worry about subclasses
overloading it (Hotspot can and does deal with this, of course, but it's
logically more costly and I would imagine it delays this optimisation until
it's done the cheaper optimisations).

If this is the reason that I'm seeing better numbers it's entirely
fortuitous. I chose static methods so that I could do super calls easier not
because of any performance gain.

John Wilson
--

-- 
View this message in context: http://www.nabble.com/invokedynamic%3A-Is-It-What-We-Really-Need--tp17145635p17253136.html
Sent from the groovy - dev mailing list archive at Nabble.com.

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

    http://xircles.codehaus.org/manage_email


Gmane