Added: giraph/trunk/giraph/src/main/java/org/apache/giraph/utils/Times.java URL: http://svn.apache.org/viewvc/giraph/trunk/giraph/src/main/java/org/apache/giraph/utils/Times.java?rev=1406744&view=auto ============================================================================== --- giraph/trunk/giraph/src/main/java/org/apache/giraph/utils/Times.java (added) +++ giraph/trunk/giraph/src/main/java/org/apache/giraph/utils/Times.java Wed Nov 7 18:13:10 2012 @@ -0,0 +1,100 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.giraph.utils; + +/** + * Utility methods for Time classes. + */ +public class Times { + /** Do not instantiate */ + private Times() { } + + /** + * Convenience method to get milliseconds since a previous milliseconds + * point. + * + * @param time Time instance to use + * @param previousMilliseconds Previous milliseconds + * @return Milliseconds elapsed since the previous milliseconds + */ + public static long getMillisecondsSince(Time time, + long previousMilliseconds) { + return time.getMilliseconds() - previousMilliseconds; + } + + /** + * Convenience method to get milliseconds since a previous milliseconds + * point. + * + * @param time Time instance to use + * @param previousMs Previous milliseconds + * @return Milliseconds elapsed since the previous milliseconds + */ + public static long getMsSince(Time time, long previousMs) { + return getMillisecondsSince(time, previousMs); + } + + /** + * Convenience method to get nanoseconds since a previous nanoseconds + * point. + * + * @param time Time instance to use + * @param previousNanoseconds Previous nanoseconds + * @return Nanoseconds elapsed since the previous nanoseconds + */ + public static long getNanosecondsSince(Time time, long previousNanoseconds) { + return time.getNanoseconds() - previousNanoseconds; + } + + /** + * Convenience method to get nanoseconds since a previous nanoseconds + * point. + * + * @param time Time instance to use + * @param previousNanos Previous nanoseconds + * @return Nanoseconds elapsed since the previous nanoseconds + */ + public static long getNanosSince(Time time, long previousNanos) { + return getNanosecondsSince(time, previousNanos); + } + + /** + * Convenience method to get seconds since a previous seconds + * point. + * + * @param time Time instance to use + * @param previousSeconds Previous seconds + * @return Seconds elapsed since the previous seconds + */ + public static int getSecondsSince(Time time, int previousSeconds) { + return time.getSeconds() - previousSeconds; + } + + /** + * Convenience method to get seconds since a previous seconds + * point. + * + * @param time Time instance to use + * @param previousSec Previous seconds + * @return Seconds elapsed since the previous seconds + */ + public static int getSecSince(Time time, int previousSec) { + return getSecondsSince(time, previousSec); + } +}
Modified: giraph/trunk/giraph/src/test/java/org/apache/giraph/TestPredicateLock.java URL: http://svn.apache.org/viewvc/giraph/trunk/giraph/src/test/java/org/apache/giraph/TestPredicateLock.java?rev=1406744&r1=1406743&r2=1406744&view=diff ============================================================================== --- giraph/trunk/giraph/src/test/java/org/apache/giraph/TestPredicateLock.java (original) +++ giraph/trunk/giraph/src/test/java/org/apache/giraph/TestPredicateLock.java Wed Nov 7 18:13:10 2012 @@ -25,14 +25,13 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.atomic.AtomicLong; + import org.apache.giraph.utils.Time; import org.apache.giraph.zk.BspEvent; import org.apache.giraph.zk.PredicateLock; import org.apache.hadoop.util.Progressable; import org.junit.Before; import org.junit.Test; -import org.mockito.stubbing.OngoingStubbing; /** * Ensure that PredicateLock objects work correctly. Modified: giraph/trunk/giraph/src/test/java/org/apache/giraph/graph/TestEdgeListVertex.java URL: http://svn.apache.org/viewvc/giraph/trunk/giraph/src/test/java/org/apache/giraph/graph/TestEdgeListVertex.java?rev=1406744&r1=1406743&r2=1406744&view=diff ============================================================================== --- giraph/trunk/giraph/src/test/java/org/apache/giraph/graph/TestEdgeListVertex.java (original) +++ giraph/trunk/giraph/src/test/java/org/apache/giraph/graph/TestEdgeListVertex.java Wed Nov 7 18:13:10 2012 @@ -17,12 +17,15 @@ */ package org.apache.giraph.graph; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; import org.apache.giraph.GiraphConfiguration; import org.apache.giraph.ImmutableClassesGiraphConfiguration; +import org.apache.giraph.graph.partition.PartitionOwner; import org.apache.giraph.utils.SystemTime; import org.apache.giraph.utils.Time; +import org.apache.giraph.utils.Times; import org.apache.giraph.utils.WritableUtils; -import org.apache.giraph.graph.partition.PartitionOwner; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.DoubleWritable; import org.apache.hadoop.io.FloatWritable; @@ -33,22 +36,17 @@ import org.apache.hadoop.io.WritableComp import org.junit.Before; import org.junit.Test; +import java.io.IOException; +import java.util.Map; + import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; -import static org.junit.Assert.assertFalse; - -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; - import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import java.io.IOException; -import java.util.List; -import java.util.Map; - /** * Tests {@link EdgeListVertex}. */ @@ -59,7 +57,7 @@ public class TestEdgeListVertex { private GiraphJob job; /** Immutable classes giraph configuration */ private ImmutableClassesGiraphConfiguration<IntWritable, FloatWritable, - DoubleWritable, LongWritable> configuration; + DoubleWritable, LongWritable> configuration; /** * Simple instantiable class that extends {@link EdgeListVertex}. @@ -197,11 +195,11 @@ public class TestEdgeListVertex { for (int i = edgesCount; i > 0; --i) { edgeMap.put(new IntWritable(i), new DoubleWritable(i * 2.0)); } + Time time = SystemTime.getInstance(); vertex.initialize(new IntWritable(2), new FloatWritable(3.0f), edgeMap); - long serializeNanosStart = SystemTime.getInstance().getNanoseconds(); + long serializeNanosStart = time.getNanoseconds(); byte[] byteArray = WritableUtils.writeToByteArray(vertex); - long serializeNanos = SystemTime.getInstance().getNanosecondsSince( - serializeNanosStart); + long serializeNanos = Times.getNanosSince(time, serializeNanosStart); System.out.println("testSerialize: Serializing took " + serializeNanos + " ns for " + byteArray.length + " bytes " + @@ -211,8 +209,7 @@ public class TestEdgeListVertex { configuration.createVertex(); long deserializeNanosStart = SystemTime.getInstance().getNanoseconds(); WritableUtils.readFieldsFromByteArray(byteArray, readVertex); - long deserializeNanos = SystemTime.getInstance().getNanosecondsSince( - deserializeNanosStart); + long deserializeNanos = Times.getNanosSince(time, deserializeNanosStart); System.out.println("testSerialize: Deserializing took " + deserializeNanos + " ns for " + byteArray.length + " bytes " + Modified: giraph/trunk/giraph/src/test/java/org/apache/giraph/utils/BspUtilsTest.java URL: http://svn.apache.org/viewvc/giraph/trunk/giraph/src/test/java/org/apache/giraph/utils/BspUtilsTest.java?rev=1406744&r1=1406743&r2=1406744&view=diff ============================================================================== --- giraph/trunk/giraph/src/test/java/org/apache/giraph/utils/BspUtilsTest.java (original) +++ giraph/trunk/giraph/src/test/java/org/apache/giraph/utils/BspUtilsTest.java Wed Nov 7 18:13:10 2012 @@ -18,17 +18,14 @@ package org.apache.giraph.utils; -import java.io.IOException; -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; import org.apache.giraph.GiraphConfiguration; import org.apache.giraph.ImmutableClassesGiraphConfiguration; import org.apache.giraph.graph.BspUtils; import org.apache.giraph.graph.EdgeListVertex; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.DoubleWritable; -import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.IntWritable; +import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Writable; import org.apache.hadoop.io.WritableComparable; import org.junit.After; @@ -37,6 +34,10 @@ import org.junit.Rule; import org.junit.Test; import org.junit.rules.TestName; +import java.io.IOException; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; + import static org.junit.Assert.assertEquals; /** @@ -45,6 +46,7 @@ import static org.junit.Assert.assertEqu public class BspUtilsTest { @Rule public TestName name = new TestName(); + private static final Time TIME = SystemTime.getInstance(); private static final long COUNT = 200000; private Configuration conf = new Configuration(); private long startNanos = -1; @@ -75,7 +77,7 @@ public class BspUtilsTest { @After public void cleanUp() { - totalNanos = SystemTime.getInstance().getNanosecondsSince(startNanos); + totalNanos = Times.getNanosSince(TIME, startNanos); System.out.println(name.getMethodName() + ": took " + totalNanos + " ns for " + COUNT + " elements " + (totalNanos * 1f / COUNT) + @@ -86,7 +88,7 @@ public class BspUtilsTest { @Test public void testCreateClass() { - startNanos = SystemTime.getInstance().getNanoseconds(); + startNanos = TIME.getNanoseconds(); for (int i = 0; i < COUNT; ++i) { LongWritable value = BspUtils.createVertexValue(conf); value.set(i); @@ -96,7 +98,7 @@ public class BspUtilsTest { @Test public void testNativeCreateClass() { - startNanos = SystemTime.getInstance().getNanoseconds(); + startNanos = TIME.getNanoseconds(); for (int i = 0; i < COUNT; ++i) { LongWritable value = new LongWritable(); value.set(i); @@ -111,7 +113,7 @@ public class BspUtilsTest { @Test public void testNewInstance() throws IllegalAccessException, InstantiationException { - startNanos = SystemTime.getInstance().getNanoseconds(); + startNanos = TIME.getNanoseconds(); for (int i = 0; i < COUNT; ++i) { LongWritable value = (LongWritable) getLongWritableClass().newInstance(); @@ -127,7 +129,7 @@ public class BspUtilsTest { @Test public void testSyncNewInstance() throws IllegalAccessException, InstantiationException { - startNanos = SystemTime.getInstance().getNanoseconds(); + startNanos = TIME.getNanoseconds(); for (int i = 0; i < COUNT; ++i) { LongWritable value = (LongWritable) getSyncLongWritableClass().newInstance(); @@ -142,7 +144,7 @@ public class BspUtilsTest { // Throwaway to put into cache org.apache.hadoop.util.ReflectionUtils.newInstance(LongWritable.class, null); - startNanos = SystemTime.getInstance().getNanoseconds(); + startNanos = TIME.getNanoseconds(); for (int i = 0; i < COUNT; ++i) { LongWritable value = (LongWritable) org.apache.hadoop.util.ReflectionUtils.newInstance( @@ -158,7 +160,7 @@ public class BspUtilsTest { NoSuchMethodException, InvocationTargetException { Constructor<?> constructor = LongWritable.class.getDeclaredConstructor (new Class[]{}); - startNanos = SystemTime.getInstance().getNanoseconds(); + startNanos = TIME.getNanoseconds(); for (int i = 0; i < COUNT; ++i) { LongWritable value = (LongWritable) constructor.newInstance(); value.set(i); @@ -180,7 +182,7 @@ public class BspUtilsTest { @Test public void testImmutableClassesGiraphConfigurationNewInstance() { - startNanos = SystemTime.getInstance().getNanoseconds(); + startNanos = TIME.getNanoseconds(); for (int i = 0; i < COUNT; ++i) { LongWritable value = getConfiguration().createVertexValue(); value.set(i);
