From 6ae05b419922193c4c253e51c9a5e483e4f947fa Mon Sep 17 00:00:00 2001 From: janakr Date: Mon, 13 Aug 2018 16:13:42 -0700 Subject: 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 --- .../google/devtools/build/lib/concurrent/ForkJoinQuiescingExecutor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/com/google/devtools/build/lib/concurrent/ForkJoinQuiescingExecutor.java') diff --git a/src/main/java/com/google/devtools/build/lib/concurrent/ForkJoinQuiescingExecutor.java b/src/main/java/com/google/devtools/build/lib/concurrent/ForkJoinQuiescingExecutor.java index 005d4f1ac9..89a7454f0f 100644 --- a/src/main/java/com/google/devtools/build/lib/concurrent/ForkJoinQuiescingExecutor.java +++ b/src/main/java/com/google/devtools/build/lib/concurrent/ForkJoinQuiescingExecutor.java @@ -92,7 +92,7 @@ public class ForkJoinQuiescingExecutor extends AbstractQueueVisitor { } @Override - protected void executeRunnable(Runnable runnable) { + protected void executeRunnable(WrappedRunnable runnable) { if (ForkJoinTask.inForkJoinPool()) { @SuppressWarnings("unused") Future possiblyIgnoredError = ForkJoinTask.adapt(runnable).fork(); -- cgit v1.2.3