RFR: 8318709: Improve System.nanoTime performance on Windows

Conor Cleary ccleary at openjdk.org
Tue Oct 24 14:25:36 UTC 2023


On Tue, 24 Oct 2023 08:23:01 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:

> - use LARGE_INTEGER.QuadPart instead of assembling the jlong from high/low parts
> - precalculate counts_per_nano to avoid costly floating-point division in counter to nanosecond conversion
> 
> Benchmark before:
> SystemTime.nanoTime                avgt   15  19,366 � 0,383  ns/op
> 
> After:
> SystemTime.nanoTime                avgt   15  15,812 � 0,385  ns/op
> 
> Tier1-2 clean.

LGTM. Can see that `QueryPerformanceFrequency()` sets count the frequency of the performance counter thats fixed at boot too which seems hardware specific, nice gain

-------------

Marked as reviewed by ccleary (Committer).

PR Review: https://git.openjdk.org/jdk/pull/16336#pullrequestreview-1695029880


More information about the hotspot-runtime-dev mailing list