aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/graph
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2018-02-09 08:37:56 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-09 08:39:32 -0800
commit8ac761a63cf9cf6851138e689c0666063ad9b219 (patch)
tree82be9886f4bcee8af9b10692309d9bc92472895e /src/main/java/com/google/devtools/build/lib/graph
parent16614bb50672da08cb9222f6470fb75848838208 (diff)
Switch a few maps/sets to CompactHash(Map|Set)
RELNOTES: None. PiperOrigin-RevId: 185145663
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/graph')
-rw-r--r--src/main/java/com/google/devtools/build/lib/graph/BUILD1
-rw-r--r--src/main/java/com/google/devtools/build/lib/graph/DFS.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/graph/Node.java8
3 files changed, 7 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/graph/BUILD b/src/main/java/com/google/devtools/build/lib/graph/BUILD
index b942abbfcd..59b9b5e611 100644
--- a/src/main/java/com/google/devtools/build/lib/graph/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/graph/BUILD
@@ -13,6 +13,7 @@ java_library(
name = "graph",
srcs = glob(["*.java"]),
deps = [
+ "//src/main/java/com/google/devtools/build/lib/collect/compacthashset",
"//third_party:guava",
"//third_party:jsr305",
],
diff --git a/src/main/java/com/google/devtools/build/lib/graph/DFS.java b/src/main/java/com/google/devtools/build/lib/graph/DFS.java
index 1428060a6c..ac9dec223c 100644
--- a/src/main/java/com/google/devtools/build/lib/graph/DFS.java
+++ b/src/main/java/com/google/devtools/build/lib/graph/DFS.java
@@ -17,11 +17,11 @@ package com.google.devtools.build.lib.graph;
import static java.util.Comparator.comparing;
import static java.util.stream.Collectors.toCollection;
+import com.google.devtools.build.lib.collect.compacthashset.CompactHashSet;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
-import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -53,7 +53,7 @@ public class DFS<T> {
private final boolean transpose;
- private final Set<Node<T>> marked = new HashSet<>();
+ private final Set<Node<T>> marked = CompactHashSet.create();
/**
* Constructs a DFS instance for searching over the enclosing Digraph
diff --git a/src/main/java/com/google/devtools/build/lib/graph/Node.java b/src/main/java/com/google/devtools/build/lib/graph/Node.java
index 5079ed4ce4..584b35b60d 100644
--- a/src/main/java/com/google/devtools/build/lib/graph/Node.java
+++ b/src/main/java/com/google/devtools/build/lib/graph/Node.java
@@ -13,7 +13,7 @@
// limitations under the License.
package com.google.devtools.build.lib.graph;
-import com.google.common.collect.Sets;
+import com.google.devtools.build.lib.collect.compacthashset.CompactHashSet;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -46,7 +46,7 @@ public final class Node<T> {
// - null for size = 0.
// - Collections$SingletonList for size = 1.
// - ArrayList(6) for size = [2..6].
- // - HashSet(12) for size > 6.
+ // - CompactHashSet(12) for size > 6.
// These numbers were chosen based on profiling.
private final T label;
@@ -164,8 +164,8 @@ public final class Node<T> {
set.add(value);
return true;
} else if (previousSize == ARRAYLIST_THRESHOLD) {
- // ArrayList -> HashSet
- Collection<Node<T>> newSet = Sets.newHashSetWithExpectedSize(INITIAL_HASHSET_CAPACITY);
+ // ArrayList -> CompactHashSet
+ Collection<Node<T>> newSet = CompactHashSet.createWithExpectedSize(INITIAL_HASHSET_CAPACITY);
newSet.addAll(set);
newSet.add(value);
return updateField(predecessorSet, newSet);