aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
diff options
context:
space:
mode:
authorGravatar shreyax <shreyax@google.com>2018-06-02 15:08:51 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-02 15:09:58 -0700
commit43a1dc799f068daaf5487e92ace90ad65d0560bf (patch)
treed8a965f43f61c869aa9dee452a36024bc3a05086 /src/main/java/com/google/devtools/build/lib/cmdline/Label.java
parentff008f445905bf6f4601a368782b620f7899d322 (diff)
Fast-path Label#equals by first comparing the interned PackageIdentifier.
PiperOrigin-RevId: 199007753
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/cmdline/Label.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/cmdline/Label.java5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
index f271ea6c8b..61805ca5ae 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
@@ -539,9 +539,8 @@ public final class Label
return false;
}
Label otherLabel = (Label) other;
- // Perform the equality comparisons in order from least likely to most likely.
- return name.equals(otherLabel.name)
- && packageIdentifier.equals(otherLabel.packageIdentifier);
+ // Package identifiers are interned so we compare them first.
+ return packageIdentifier.equals(otherLabel.packageIdentifier) && name.equals(otherLabel.name);
}
/**