diff options
author | janakr <janakr@google.com> | 2018-08-13 16:13:42 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-08-13 16:15:46 -0700 |
commit | 6ae05b419922193c4c253e51c9a5e483e4f947fa (patch) | |
tree | e06491f807689124cad73a2011af2db821e390e1 /src/main/java/com/google/devtools/build/lib/concurrent/ExecutorParams.java | |
parent | ce170540ba5401e926a5433e6e35b1d22426e525 (diff) |
Order Skyframe evaluations in a priority queue, with all children of a given node having the same priority, later enqueueings having higher priority, re-enqueued nodes having highest priority, and new root nodes having lowest priority. Experimentally, this can save significant RAM (1.4G in some builds!) while not affecting speed.
Also do a semi-drive-by deleting ExecutorFactory parameter to AbstractQueueVisitor, since it was always AbstractQueueVisitor.EXECUTOR_FACTORY.
PiperOrigin-RevId: 208560889
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/concurrent/ExecutorParams.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/concurrent/ExecutorParams.java | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/concurrent/ExecutorParams.java b/src/main/java/com/google/devtools/build/lib/concurrent/ExecutorParams.java deleted file mode 100644 index c06144c8df..0000000000 --- a/src/main/java/com/google/devtools/build/lib/concurrent/ExecutorParams.java +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2014 The Bazel Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package com.google.devtools.build.lib.concurrent; - -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.TimeUnit; - -/** Configuration parameters for {@link ExecutorService} construction. */ -public class ExecutorParams { - private final int parallelism; - private final long keepAliveTime; - private final TimeUnit units; - private final String poolName; - private final BlockingQueue<Runnable> workQueue; - - public ExecutorParams( - int parallelism, - long keepAliveTime, - TimeUnit units, - String poolName, - BlockingQueue<Runnable> workQueue) { - this.parallelism = parallelism; - this.keepAliveTime = keepAliveTime; - this.units = units; - this.poolName = poolName; - this.workQueue = workQueue; - } - - public int getParallelism() { - return parallelism; - } - - public long getKeepAliveTime() { - return keepAliveTime; - } - - public TimeUnit getUnits() { - return units; - } - - public String getPoolName() { - return poolName; - } - - public BlockingQueue<Runnable> getWorkQueue() { - return workQueue; - } -} |