commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Henri Yandell (JIRA)" <>
Subject [jira] Closed: (LANG-478) StopWatch does not resist to system time changes
Date Sun, 01 Mar 2009 21:19:15 GMT


Henri Yandell closed LANG-478.

    Resolution: Fixed

svn ci -m "Applying my patch from LANG-478 - moving StopWatch to using nanoTime under the
hood. "

Sending        src/java/org/apache/commons/lang/time/
Transmitting file data .
Committed revision 749114.

> StopWatch does not resist to system time changes
> ------------------------------------------------
>                 Key: LANG-478
>                 URL:
>             Project: Commons Lang
>          Issue Type: Bug
>    Affects Versions: 2.3
>         Environment: all operating systems.
>            Reporter: Regis Desgroppes
>             Fix For: 3.0
>         Attachments: LANG-478.patch
> org.apache.commons.lang.time.StopWatch seems to be relying on wall clock, i.e. by calling
java.lang.System.currentTimeMillis() to sample current time.
> When a system time change occurs (user action, NTP synchronization...) between 2 calls
to StopWatch.getTime(), the difference between the 2 samples is wrong: the measured duration
may noticeably differ from the real one. Moreover, should the system time change consist in
a backward adjustment, the difference could be negative.
> In order to make StopWatch resistant to system time changes, would it be possible to
use the process time, i.e. by making implementation calling java.lang.System.nanoTime() -multiplied
by appropriate factor, of course.
> Thanks a lot,
> Regis.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message