How to monitor SwitchPoint's impact?
Charles Oliver Nutter
headius at headius.com
Thu Dec 1 01:34:45 PST 2011
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
More information about the mlvm-dev
mailing list