Don't unconditionally call PathFragment#normalize in the PackageIdentifier ctor. This is completely wasteful in the common case of the PathFragment already being normalized.
RELNOTES: None
PiperOrigin-RevId: 164022960
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java b/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java
index e276793..f99bf9a 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java
@@ -111,8 +111,10 @@
private PackageIdentifier(RepositoryName repository, PathFragment pkgName) {
this.repository = Preconditions.checkNotNull(repository);
- this.pkgName = Canonicalizer.fragments().intern(
- Preconditions.checkNotNull(pkgName).normalize());
+ if (!pkgName.isNormalized()) {
+ pkgName = pkgName.normalize();
+ }
+ this.pkgName = Canonicalizer.fragments().intern(Preconditions.checkNotNull(pkgName));
this.hashCode = Objects.hash(repository, pkgName);
}