where are our performance bottlenecks?

Mark Roos mroos at roos.com
Wed Jul 6 00:22:28 PDT 2011


Hi Christian

Now that I have a current working jdk I took a look at the timings and 
gave some thought to what I would expect ( or want ).

First with a consistent test bed using my simple Hanoi test I found the 
following:  ( 64 bit server on a mac with b147)
        using int prims  1.8ms
        using boxed longs  5.5ms
        using my objects in a java (static)  way  35ms
        using invoke dynamic    65ms

For the last two I tried to match the code execution so that both were 
performing the same.  FYI the last involves about
8 million indy calls.

I think that having the last two match would be a good objective.  I would 
guess that in my case this would mean
the test portion of GWT was fast along with some basic method handle ops ( 
drop, insert , invoke, spread ).  And again
in my case all objects are of a single class so casting and checking are 
not adding value.

After that I would look at approaching the boxed longs time.  This has a 
similar instruction and invoke count but ends up
way faster.  I suspect that the vm knows about boxed primitives.  How to 
add similar knowledge about my boxes would
be an interesting challenge.  For instance in the above case my objects 
are really just boxes of long prims. 

regards

mark



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20110706/303e38e8/attachment.html 


More information about the mlvm-dev mailing list