aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/packages
diff options
context:
space:
mode:
authorGravatar carmi <carmi@google.com>2017-12-20 18:03:46 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-12-20 18:05:47 -0800
commit16c36c3f15574a40e34e697f92fe86a4e44e9851 (patch)
tree1767896cc11555384bbdc0dba4bbe2fe7d5ba32e /src/main/java/com/google/devtools/build/lib/skyframe/packages
parentbfd8157819b4bf0fe2a55f54e2081e2b5d4fc848 (diff)
Enable syscall cache and eager sub-directory globbing in AbstractPackageLoader.
RELNOTES: None PiperOrigin-RevId: 179757650
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/packages')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java b/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java
index a10deeb595..6d465784ae 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java
@@ -60,6 +60,7 @@ import com.google.devtools.build.lib.skyframe.PackageFunction.CacheEntryWithGlob
import com.google.devtools.build.lib.skyframe.PackageLookupFunction;
import com.google.devtools.build.lib.skyframe.PackageLookupFunction.CrossRepositoryLabelViolationStrategy;
import com.google.devtools.build.lib.skyframe.PackageValue;
+import com.google.devtools.build.lib.skyframe.PerBuildSyscallCache;
import com.google.devtools.build.lib.skyframe.PrecomputedFunction;
import com.google.devtools.build.lib.skyframe.PrecomputedValue;
import com.google.devtools.build.lib.skyframe.SkyFunctions;
@@ -102,6 +103,10 @@ import javax.annotation.Nullable;
* caching.
*/
public abstract class AbstractPackageLoader implements PackageLoader {
+
+ // See {@link PackageFactory.setMaxDirectoriesToEagerlyVisitInGlobbing}.
+ private static final int MAX_DIRECTORIES_TO_EAGERLY_VISIT_IN_GLOBBING = 3000;
+
private final ImmutableDiff preinjectedDiff;
private final Differencer preinjectedDifferencer = new Differencer() {
@Override
@@ -359,6 +364,9 @@ public abstract class AbstractPackageLoader implements PackageLoader {
getName(),
Package.Builder.DefaultHelper.INSTANCE);
pkgFactory.setGlobbingThreads(legacyGlobbingThreads);
+ pkgFactory.setSyscalls(new AtomicReference<>(PerBuildSyscallCache.newBuilder().build()));
+ pkgFactory.setMaxDirectoriesToEagerlyVisitInGlobbing(
+ MAX_DIRECTORIES_TO_EAGERLY_VISIT_IN_GLOBBING);
ImmutableMap.Builder<SkyFunctionName, SkyFunction> builder = ImmutableMap.builder();
builder
.put(SkyFunctions.PRECOMPUTED, new PrecomputedFunction())