Download Latest Version JNodeToNodeClockSkew-1.2.2-src.zip (126.2 kB)
Email in envelope

Get an email when there's a new version of Poor Man's Timing And Profiling

Home / JPoorMansTimingAndProfiling
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2013-08-23 3.1 kB
JPoorMansTimingAndProfiling-1.2.6-src.zip 2013-05-08 194.4 kB
Totals: 2 Items   197.5 kB 0

Project Home

PoorMansTimingAndProfiling

About The Java Poor Man's Timing And Profiling Library

This package helps profile the execution-time characteristics of Java code. The classes use Java's nanosecond timing capability to get the best resolution possible. See the note in the JavaDoc's about nanosecond timing.

This package has functions to:

  • Track elapsed time intervals of key application events
  • Measure and compute time statistics for key application events
  • Compute and report metrics derived from the key application events and other application parameters as needed
  • Track and report timing's following the nested nature of application logic

Details and examples are contained in the include JavaDocs in the doc/ directory.

Build Targets

"ant jar" - Creates a single library .jar file

Dependencies

This software is dependent on the following libraries which may be downloaded from the URL's specified

License & Release

This is being made available under a BSD-style license. Approved for public release by The MITRE Corporation. Approved for Public Release: 12-2651. Distribution Unlimited.

Versions

1.2.6

  • Changed the default extension for the analysis event log to .csv
  • Added a flush() method to AnalysisEvent

1.2.5

  • Changed the hard runtime dependence on Log4j into an optional one.
    All logging is done via SLF4J. However, if Log4j exists and has not been initialized it will be initialized. If Log4j does not exist it is assumed the proper logger has already been initialized. There is still a compile dependence on Log4j.

1.2.4

  • Fixed output formatting bug

1.2.3

  • Added AbsoluteNanoTime which allows getting nanosecond time relative to a recent base year so that nano-time is the same on all nodes.
  • Added another overload of Timing.clearAll()
  • Tweaks to dumpTimings()
  • Fixed minor formatter bug

1.2.2

  • Fixed to work with multiple threads
  • Added StopWatch.enableStartStopFromAnyThread() in case you don't need thread-aware behavior
  • Added StopWatch.stopIfStarted()
  • Removed the deprecated ENABLE_TIMING and ENABLE_MEMORY constants
  • Simplified the example ExampleUseOfDerivedComputation.java a little

1.2.1

  • Readme.txt update

1.2.0

  • Add a small warmup loop to determineNanosecondGranularity() to exercise System.nanoTime()
  • Added a new test, DetermineNanoResoultionRepeatedly
  • Added a new method Timing.determineNanosecondJitterMinMax()

1.1

  • Cleaned up the factory methods for creating StopWatch's and MemoryWatch's
  • Added a LogFileMaker class that may be helpful for creating experiment-specific directories for logging.

1.0

  • Initial
Source: README.md, updated 2013-08-23