You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ju...@apache.org on 2014/04/23 20:18:31 UTC

svn commit: r1589484 - /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/stats/Clock.java

Author: jukka
Date: Wed Apr 23 18:18:30 2014
New Revision: 1589484

URL: http://svn.apache.org/r1589484
Log:
OAK-1757: Oak eats too many CPU cycles when idle

Make the Fast clock update interval configurable for testing purposes

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/stats/Clock.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/stats/Clock.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/stats/Clock.java?rev=1589484&r1=1589483&r2=1589484&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/stats/Clock.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/stats/Clock.java Wed Apr 23 18:18:30 2014
@@ -45,6 +45,14 @@ public abstract class Clock {
     private static final long ACCURATE_CLOCK_GRANULARITY =
             Long.getLong("accurate.clock.granularity", 1);
 
+    /**
+     * Millisecond update interval of the {@link Fast} clock. Configurable
+     * by the "fast.clock.interval" system property to to make it easier
+     * to test the effect of different update frequencies.
+     */
+    private static final long FAST_CLOCK_INTERVAL =
+            Long.getLong("fast.clock.interval", 1);
+
     private long monotonic = 0;
 
     private long increasing = 0;
@@ -277,7 +285,7 @@ public abstract class Clock {
                 public void run() {
                     time = ACCURATE.getTime();
                 }
-            }, 1, 1, TimeUnit.MILLISECONDS);
+            }, FAST_CLOCK_INTERVAL, FAST_CLOCK_INTERVAL, TimeUnit.MILLISECONDS);
         }
 
         @Override