You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2015/06/04 18:15:17 UTC
incubator-tinkerpop git commit: added TimeUtil.clockWithResult()
which returns a Pair.
Repository: incubator-tinkerpop
Updated Branches:
refs/heads/master 25ed1fb4d -> 9b4994c49
added TimeUtil.clockWithResult() which returns a Pair<Double,S>.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/9b4994c4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/9b4994c4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/9b4994c4
Branch: refs/heads/master
Commit: 9b4994c49694586fd3be504757bf7319ae380ba0
Parents: 25ed1fb
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Thu Jun 4 10:15:11 2015 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Thu Jun 4 10:15:11 2015 -0600
----------------------------------------------------------------------
.../org/apache/tinkerpop/gremlin/util/TimeUtil.java | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/9b4994c4/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/TimeUtil.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/TimeUtil.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/TimeUtil.java
index 22a46c5..8932e42 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/TimeUtil.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/TimeUtil.java
@@ -18,7 +18,10 @@
*/
package org.apache.tinkerpop.gremlin.util;
+import org.javatuples.Pair;
+
import java.util.concurrent.TimeUnit;
+import java.util.function.Supplier;
import java.util.stream.IntStream;
/**
@@ -58,4 +61,17 @@ public final class TimeUtil {
return (System.nanoTime() - t) * 0.000001;
}).sum() / loops;
}
+
+ public static <S> Pair<Double, S> clockWithResult(final Supplier<S> supplier) {
+ return clockWithResult(100, supplier);
+ }
+
+ public static <S> Pair<Double, S> clockWithResult(final int loops, final Supplier<S> supplier) {
+ final S result = supplier.get(); // warm up
+ return Pair.with(IntStream.range(0, loops).mapToDouble(i -> {
+ long t = System.nanoTime();
+ supplier.get();
+ return (System.nanoTime() - t) * 0.000001;
+ }).sum() / loops, result);
+ }
}