From c855cf684d37a5b3537b71b7c60c9d5b385abfc6 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Thu, 17 Jan 2013 12:39:35 -0500 Subject: [PATCH] Bug 398426 - Use num procs - 1 on Mac for optimal parallel builds. Changed the text of the UI since optimal is not always number of processors. --- .../eclipse/cdt/managedbuilder/internal/core/Builder.java | 8 +++++++- .../cdt/managedbuilder/internal/ui/Messages.properties | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java index f1a8bbefdd4..009f7293d19 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java @@ -2446,7 +2446,13 @@ public class Builder extends HoldsOptions implements IBuilder, IMatchKeyProvider * The function never returns number smaller than 1. */ public int getOptimalParallelJobNum() { - return Runtime.getRuntime().availableProcessors(); + // Bug 398426: On my Mac running parallel builds at full tilt hangs the desktop. + // Need to pull it back one. + int j = Runtime.getRuntime().availableProcessors(); + if (j > 1 && Platform.getOS().equals(Platform.OS_MACOSX)) + return j - 1; + else + return j; } /** diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/Messages.properties b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/Messages.properties index 777f8e2e16c..4034c1c2f72 100644 --- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/Messages.properties +++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/internal/ui/Messages.properties @@ -32,7 +32,7 @@ BuilderSettingsTab_8=&Expand Env. Variable Refs in Makefiles BuilderSettingsTab_9=Build settings BuilderSettingsTab_10=Stop on first build error BuilderSettingsTab_EnableParallelBuild=Enable parallel build -BuilderSettingsTab_UseOptimalJobs=Use number of processors ({0}) +BuilderSettingsTab_UseOptimalJobs=Use optimal jobs ({0}) BuilderSettingsTab_UseParallelJobs=Use parallel jobs: BuilderSettingsTab_UseUnlimitedJobs=Use unlimited jobs BuilderSettingsTab_14=Workbench Build Behavior