aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java
diff options
context:
space:
mode:
authorGravatar Nathan Harmata <nharmata@google.com>2015-10-06 01:00:47 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2015-10-06 07:04:13 +0000
commit3a509bdb1fd842f66b2efe75d6c619605904f8aa (patch)
tree885f66b47606fcd6ef3de2a7d874b9b74036dd63 /src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java
parente1b61d0d8a0b2bb7d2984f4aa3bd2b20c426f634 (diff)
In FilesystemValueChecker, use 200 threads and don't waste threads on skipped keys. This yields some noticeable improvements for the wall times of null builds with even a small set of files to be checked for changes.
-- MOS_MIGRATED_REVID=104717653
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java b/src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java
index 35df1101fc..57f64c4614 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/FilesystemValueChecker.java
@@ -63,7 +63,7 @@ import javax.annotation.Nullable;
*/
class FilesystemValueChecker {
- private static final int DIRTINESS_CHECK_THREADS = 50;
+ private static final int DIRTINESS_CHECK_THREADS = 200;
private static final Logger LOG = Logger.getLogger(FilesystemValueChecker.class.getName());
private static final Predicate<SkyKey> ACTION_FILTER =
@@ -311,6 +311,10 @@ class FilesystemValueChecker {
};
try (AutoProfiler prof = AutoProfiler.create(elapsedTimeReceiver)) {
for (final SkyKey key : values) {
+ numKeysScanned.incrementAndGet();
+ if (!checker.applies(key)) {
+ continue;
+ }
final SkyValue value = valuesSupplier.get().get(key);
executor.execute(
wrapper.wrap(
@@ -318,13 +322,10 @@ class FilesystemValueChecker {
@Override
public void run() {
if (value != null || checkMissingValues) {
- numKeysScanned.incrementAndGet();
- DirtyResult result = checker.maybeCheck(key, value, tsgm);
- if (result != null) {
- numKeysChecked.incrementAndGet();
- if (result.isDirty()) {
- batchResult.add(key, value, result.getNewValue());
- }
+ numKeysChecked.incrementAndGet();
+ DirtyResult result = checker.check(key, value, tsgm);
+ if (result.isDirty()) {
+ batchResult.add(key, value, result.getNewValue());
}
}
}