So I've tried a few things:
1) add a field called interned to java.lang.String so that we don't
query the weak hash map on every intern - little benefit as the strings
are created on the fly from string buffers
2) add java.* and org.jikesrvm.* classes loaded by jython to the boot
image - little benefit
3) changed the String intern weak hash map to a VM hash map - saves
between 1% and 2%
4) changed the thread local weak hash map to a VM hash map - saves up to 13%
5) switching String toUpperCase and toLowerCase to just do
Character.toUpperCase or toLowerCase respectively - little benefit
it seems the use of weak hash maps and thread locals are an interesting
area to boost performance. The simple, but possibly not correct, change
takes run time of 62seconds down to 52seconds. This takes our
performance compared to a 31second Java 1.5 run from 50% to 59.6%. This
is much closer to our performance on other DaCapo benchmarks. I'm not
sure what people think of these changes in general so I hope we can have
some discussion on the list.
Thanks,
Ian
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>
http://get.splunk.com/_______________________________________________
Jikesrvm-core mailing list
Jikesrvm-core@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-core