Currently the time base for the g1 collector (and others?) is seconds, stored in double values.
Seconds is too rough as a base unit, further calculations on doubles tend to accumulate rounding error due to finite representation.
Change the time base for all values to something like nanoseconds, and use integers to store their values. Only when necessary round to whatever desired output accuracy.
There may be need to file similar CRs for the other collectors.
Seconds is too rough as a base unit, further calculations on doubles tend to accumulate rounding error due to finite representation.
Change the time base for all values to something like nanoseconds, and use integers to store their values. Only when necessary round to whatever desired output accuracy.
There may be need to file similar CRs for the other collectors.
- duplicates
-
JDK-8208390 G1 should always use ticks as internal time base instead of double
-
- Open
-
- relates to
-
JDK-8165685 Internal time base for MMU tracker should be nanoseconds
-
- Open
-