JCoz icon indicating copy to clipboard operation
JCoz copied to clipboard

Figure out how to avoid overhead of progress points (from breakpoints)

Open Byte-Lab opened this issue 9 years ago • 2 comments

We have observed that setting a progress point can sometimes impede performance in the code around where the progress point was set. This can severely degrade the value of the profiler, as it can introduce significant probe effect due to the latency introduced from the JVMTI breakpoint.

One possible solution would be to expose a library to users that allows them to add a progress point (similar to how COZ does it, although they use a macro), and we could just set a breakpoint inside library function called by the user.

Byte-Lab avatar May 11 '16 18:05 Byte-Lab

Another potentially better solution than exposing a library is to use annotations: https://docs.oracle.com/javase/tutorial/java/annotations/

Byte-Lab avatar May 12 '16 16:05 Byte-Lab

I did a lot of work on this while I was at CMU. I found that bytecode replacement was not better than using breakpoints. I'm leaving this open for now because it's something we should work on, but I'm changing the tag to enhancement instead of bug because it only affects accuracy and not correctness.

Byte-Lab avatar Jul 29 '17 23:07 Byte-Lab