JRuby invokedynamic updates for November
Charles Oliver Nutter
headius at headius.com
Thu Dec 1 01:29:08 PST 2011
On Thu, Dec 1, 2011 at 2:23 AM, Charles Oliver Nutter
<headius at headius.com> wrote:
> I am still seeing rebinding in profiles of some of the remaining slow
> benchmarks, so I'm missing something.
Bleah, I seem to have found the problem.
If I disable the use of SwitchPoint for class-mutation-originated call
site invalidation, performance matches or exceeds the non-indy numbers
pretty much across the board:
Parsing small document for 5 seconds ... 5179 calls (1035.80/s)
Adding new elemnt for 5 seconds ... 582401 calls (116480.40/s)
Document creation for 5 seconds ... 123492 calls (24698.40/s)
Writing tree for 5 seconds ... 8953 calls (1790.60/s)
By-hand search for 5 seconds ... 428487 calls (85697.40/s)
XPath search for 5 seconds ... 1470 calls (294.00/s)
Parse large document for 5 seconds ... 395 calls (79.00/s)
Stream parsing for 5 seconds ... 633 calls (126.60/s)
Pull parsing for 5 seconds ... 660 calls (132.00/s)
SAX2 parsing for 5 seconds ... 222 calls (44.40/s)
Lightweight parsing for 5 seconds ... 843 calls (168.60/s)
This is a pretty disappointing finding. I'm not yet sure whether it's
a bug in SwitchPoint optimization or in JRuby's use of SwitchPoint,
but I'd like to see your numbers with and without this flag.
- Charlie
More information about the mlvm-dev
mailing list