aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/concurrent/ExecutorParams.java
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-08-13 16:13:42 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-13 16:15:46 -0700
commit6ae05b419922193c4c253e51c9a5e483e4f947fa (patch)
treee06491f807689124cad73a2011af2db821e390e1 /src/main/java/com/google/devtools/build/lib/concurrent/ExecutorParams.java
parentce170540ba5401e926a5433e6e35b1d22426e525 (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.java61
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;
- }
-}