From d3501d8325e7ea054f06cd218fb3d182ca0ead13 Mon Sep 17 00:00:00 2001 From: Googler Date: Wed, 15 Aug 2018 13:39:01 -0700 Subject: Use ConcurrentHashMap instead of Cache where we aren't using any of the LoadingCache's capabilities. According to profiles, using ConcurrentHashMap is about 3x more efficient. RELNOTES: None PiperOrigin-RevId: 208874176 --- .../java/com/google/devtools/build/lib/skyframe/GlobFunction.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/GlobFunction.java') diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/GlobFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/GlobFunction.java index 9d2c94ac8f..5820ac8e70 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/GlobFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/GlobFunction.java @@ -14,8 +14,6 @@ package com.google.devtools.build.lib.skyframe; import com.google.common.base.Preconditions; -import com.google.common.cache.Cache; -import com.google.common.cache.CacheBuilder; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import com.google.devtools.build.lib.actions.FileValue; @@ -33,6 +31,7 @@ import com.google.devtools.build.skyframe.SkyFunctionException.Transience; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.regex.Pattern; import javax.annotation.Nullable; @@ -43,8 +42,7 @@ import javax.annotation.Nullable; */ public final class GlobFunction implements SkyFunction { - private final Cache regexPatternCache = - CacheBuilder.newBuilder().maximumSize(10000).concurrencyLevel(4).build(); + private final ConcurrentHashMap regexPatternCache = new ConcurrentHashMap<>(); private final boolean alwaysUseDirListing; -- cgit v1.2.3