-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.in
41 lines (31 loc) · 1.55 KB
/
README.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
## timehack6435126
A high-resolutiom timer JVM bug workaround.
## Features
* Enables high-resolution timers in the JVM.
* [OSGi-ready](https://www.osgi.org/)
* [JPMS-ready](https://en.wikipedia.org/wiki/Java_Platform_Module_System)
* ISC license.
## Motivation
The `com.io7m.timehack6435126` package implements the workaround for the
comedy of errors described by `JDK-6435126`.
1. Oracle introduce a JVM option ForceTimeHighResolution intended to force
Windows based operating systems into using a high resolution timer instead
of the usual low precision one.
2. Due to a mistake in the implementation, the ForceTimeHighResolution option
actually ends up forcing the OS not to use the high resolution timer.
3. Years pass, and someone files a bug on the broken behaviour.
4. An anonymous developer at the company states that the behaviour has been
broken for years, nobody has complained, and reasons that this means that
users that are specifically asking for high resolution timers are satisfied
with instead receiving low resolution timers.
5. Someone suggests a workaround that can be used at run-time to enable the
high resolution timer.
6. Years pass.
7. An anonymous developer at the company states that the behaviour has been
broken for so long, that there's no reason to fix it now.
8. The bug is rejected as "WONTFIX".
## Usage
Call `TimeHack6435126.enableHighResolutionTimer()` in your program's main
function prior to doing anything else.
All timer-related functions in the JVM will be significantly more precise
from that point onwards.