Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The issue of inaccuracy of Java sampling profiler tools and its relation to the safe points is very well discussed in <a href="http://plv.colorado.edu/papers/mytkowicz-pldi10.pdf" rel="nofollow noreferrer">Evaluating the Accuracy of Java Profilers (PLDI'10)</a>.</p> <p>Essentially, Java profilers may produce inaccurate results when sampling due to the fact that <strong>the sampling occurs during the safe points</strong>. And since occurrence of safe-points can be modified by the compiler, execution of some <strong>methods may never by sampled</strong> by the profiler. Therefore, the profiler is scheduled to record a sample of the code (the time interval is up) but it must wait for the occurrence of the safe-point. And since the safe-point is e.g. moved around by the compiler, the method that would be ideally sampled is never observed. </p> <p>As already explained by the previous anwer, a safepoint is an event or a position in the code where compiler interrupts execution in order to execute some internal VM code (for example GC).</p> <p>The <strong>safe-point polling</strong> is a method of implementing the safepoint or a safepoint trigger. It means that in the code being executed you regularly check a flag to see if a safe-point execution is required, if yes (due to e.g. GC trigger), the thread is interrupted and the safepoint is executed. See e.g. <a href="http://xiao-feng.blogspot.com/2008/01/gc-safe-point-and-safe-region.html" rel="nofollow noreferrer">GC safe-point (or safepoint) and safe-region</a></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload