beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tg...@apache.org
Subject [4/4] incubator-beam git commit: Reduce incidence of Namespace StringKey comparisons
Date Wed, 16 Nov 2016 21:23:02 GMT
Reduce incidence of Namespace StringKey comparisons

If the Namespace of a TimerData reports itself as being equal to the
other namespace, immediately return 0 rather than generating the string
keys and comparing them.


Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/3e6a4f4a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/3e6a4f4a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/3e6a4f4a

Branch: refs/heads/master
Commit: 3e6a4f4a49344871430d2711e934b0493c17499f
Parents: c695ef4
Author: Thomas Groh <tgroh@google.com>
Authored: Tue Nov 8 14:18:58 2016 -0800
Committer: Thomas Groh <tgroh@google.com>
Committed: Wed Nov 16 13:22:41 2016 -0800

----------------------------------------------------------------------
 .../java/org/apache/beam/sdk/util/TimerInternals.java  | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/3e6a4f4a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/TimerInternals.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/TimerInternals.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/TimerInternals.java
index 743f3f7..5d4a72d 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/TimerInternals.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/TimerInternals.java
@@ -230,12 +230,17 @@ public interface TimerInternals {
      * arbitrary.
      */
     @Override
-    public int compareTo(TimerData o) {
+    public int compareTo(TimerData that) {
+      if (this.equals(that)) {
+        return 0;
+      }
       ComparisonChain chain =
-          ComparisonChain.start().compare(timestamp, o.getTimestamp()).compare(domain, o.domain);
-      if (chain.result() == 0) {
+          ComparisonChain.start()
+              .compare(this.timestamp, that.getTimestamp())
+              .compare(this.domain, that.domain);
+      if (chain.result() == 0 && !this.namespace.equals(that.namespace)) {
         // Obtaining the stringKey may be expensive; only do so if required
-        chain = chain.compare(namespace.stringKey(), o.namespace.stringKey());
+        chain = chain.compare(namespace.stringKey(), that.namespace.stringKey());
       }
       return chain.result();
     }


Mime
View raw message