|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
|
|
Relates :
|
###@###.### wrote:
...
> Given gethrtime is _supposed_ to be monotonic and that bugs whereby
> it is not monotonic get addressed, and given this code is actually
> performance sensitive - as the changes in 6784100 demonstrated - then
> shouldn't we add a flag AlwaysdUseOSHighResTime so that we just use
> gethrtime() directly? This flag could be used by people who care
> about the performance and know enough about it to check that they
> have the right patches for gethrtime() to be assumed to be working
> correctly. Default value of the flag would be false of course :)
I did the experiment to return the result of gethrtime() without caching and got almost 6x improvement on x86!!!!!!
inline hrtime_t getTimeNanos() {
if (VM_Version::supports_cx8()) {
const hrtime_t now = gethrtime();
+ if (UseNewCode) return now;
I got ScaleHarness.java test from 6784100.
32-bit product VM System.nanoTime()
% gamma ScaleHarness -X 8 n
-XX:-UseNewCode
5614000 in 1010
5612000 in 1010
5613000 in 1010
-XX:+UseNewCode
31611000 in 1010
31606000 in 1010
31612000 in 1010
|