com.io7m.timehack6435126 2.0.0 Documentation
Package Information
Orientation
Overview
The com.io7m.timehack6435126 package implements the workaround for the comedy of errors described by JDK-6435126.
Specifically:
  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".
Installation
Source compilation
The project can be compiled and installed with Maven:
$ mvn -C clean install
Maven
Regular releases are made to the Central Repository, so it's possible to use the com.io7m.timehack6435126 package in your projects with the following Maven dependency:
<dependency>
  <groupId>com.io7m.timehack6435126</groupId>
  <artifactId>com.io7m.timehack6435126-core</artifactId>
  <version>2.0.0</version>
</dependency>
All io7m.com packages use Semantic Versioning [0], which implies that it is always safe to use version ranges with an exclusive upper bound equal to the next major version - the API of the package will not change in a backwards-incompatible manner before the next major version.
Platform Specific Issues
Ironically, there are currently no known platform-specific issues.
License
All files distributed with the com.io7m.timehack6435126 package are placed under the following license:
Copyright © 2014 <code@io7m.com> http://io7m.com

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
        
Usage
Usage
Call TimeHack6435126.enableHighResolutionTimer() in your program's main function prior to doing anything else.
API Reference
Javadoc
API documentation for the package is provided via the included Javadoc.