diff options
author | 2017-03-30 17:53:17 +0000 | |
---|---|---|
committer | 2017-03-31 17:10:03 +0200 | |
commit | 395940c69dcb657fd602f3d319fb50dac7ce52f7 (patch) | |
tree | bba88e35b1e80a57d7630fcb9707e227b0aecd59 /src | |
parent | bd151bf2623fe27f66079335ade5048d80e9f772 (diff) |
Suffix fingerprint of iterable with length
This should be morally equivalent to prefixing, with the benefit that we won't
prematurely expand NestedSets (not cheap) to get the length.
PiperOrigin-RevId: 151721361
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/util/Fingerprint.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/util/Fingerprint.java b/src/main/java/com/google/devtools/build/lib/util/Fingerprint.java index c75104ee7f..c2119eeccb 100644 --- a/src/main/java/com/google/devtools/build/lib/util/Fingerprint.java +++ b/src/main/java/com/google/devtools/build/lib/util/Fingerprint.java @@ -14,7 +14,6 @@ package com.google.devtools.build.lib.util; -import com.google.common.collect.Iterables; import com.google.common.io.ByteStreams; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; @@ -191,10 +190,12 @@ public final class Fingerprint { * different from adding them each individually. */ public Fingerprint addStrings(Iterable<String> inputs) { - addInt(Iterables.size(inputs)); + int count = 0; for (String input : inputs) { addString(input); + count++; } + addInt(count); return this; } @@ -217,10 +218,12 @@ public final class Fingerprint { * @param inputs the paths with which to update the digest */ public Fingerprint addPaths(Iterable<PathFragment> inputs) { - addInt(Iterables.size(inputs)); + int count = 0; for (PathFragment path : inputs) { addPath(path); + count++; } + addInt(count); return this; } |