My recent explorations into Stephen B's perf degradation on JRuby have led me to an unfortunate conclusion: something SwitchPoint-related is responsible for the remaining slowdown.
I had bugs I fixed, like the awful PIC-causes-repeat-rebinding issue or the heavy-class-mutation-never-stabilizes issue, but the last "fix" I found was to disable SwitchPoint-based call site invalidation entirely. Now I'm not (yet) saying this is a perf issue in SwitchPoint itself. My problem is that it's very difficult to get any visibility into how frequently SwitchPoints are being invalidated (though I could instrument my own code, of course), or more importantly how drastically those invalidations are affecting performance. Does a single SwitchPoint invalidation happening repeatedly completely tank performance across the entire system? Does it require SwitchPoint invalidation that affects a broader surface area? I will continue investigating on my side. I suspect the problem is that there's just a handful of SwitchPoint locations that are repeatedly invalidated, but that those invalidations are having a drastic global impact. I'm not yet sure how to work around such a situation, where one bad apple is spoiling the whole bunch... - Charlie _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev