Browse Source

On quad core machines, use 4 build workers by default.

Rename extension method Foreach -> ForEach.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3749 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 17 years ago
parent
commit
c15374a67c
  1. 2
      src/Main/Base/Project/Resources/ProjectAndSolutionOptionsPanel.xfrm
  2. 4
      src/Main/Base/Project/Src/Commands/FileCommands.cs
  3. 2
      src/Main/Base/Project/Src/Gui/Workbench/Layouts/SdiWorkspaceWindow.cs
  4. 2
      src/Main/Base/Project/Src/Gui/Workbench/Layouts/SimpleWorkbenchLayout.cs
  5. 4
      src/Main/Base/Project/Src/Project/BuildEngine.cs
  6. 2
      src/Main/Base/Project/Src/Project/BuildOptions.cs
  7. 8
      src/Main/Base/Project/Src/Util/ExtensionMethods.cs
  8. 6
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ExtensionMethods.cs

2
src/Main/Base/Project/Resources/ProjectAndSolutionOptionsPanel.xfrm

@ -75,7 +75,7 @@ @@ -75,7 +75,7 @@
<TabIndex value="13" />
<Minimum value="1" />
<Location value="227, 66" />
<Maximum value="8" />
<Maximum value="16" />
<Size value="49, 20" />
</System.Windows.Forms.NumericUpDown>
<System.Windows.Forms.Label>

4
src/Main/Base/Project/Src/Commands/FileCommands.cs

@ -69,7 +69,7 @@ namespace ICSharpCode.SharpDevelop.Commands @@ -69,7 +69,7 @@ namespace ICSharpCode.SharpDevelop.Commands
internal static void Save(IWorkbenchWindow window)
{
window.ViewContents.Foreach(Save);
window.ViewContents.ForEach(Save);
}
internal static void Save(IViewContent content)
@ -140,7 +140,7 @@ namespace ICSharpCode.SharpDevelop.Commands @@ -140,7 +140,7 @@ namespace ICSharpCode.SharpDevelop.Commands
internal static void Save(IWorkbenchWindow window)
{
window.ViewContents.Foreach(Save);
window.ViewContents.ForEach(Save);
}
internal static void Save(IViewContent content)

2
src/Main/Base/Project/Src/Gui/Workbench/Layouts/SdiWorkspaceWindow.cs

@ -349,7 +349,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -349,7 +349,7 @@ namespace ICSharpCode.SharpDevelop.Gui
if (!vc.IsDirty) continue;
if (vc.PrimaryFile != null) {
while (true) {
vc.Files.Foreach(ICSharpCode.SharpDevelop.Commands.SaveFile.Save);
vc.Files.ForEach(ICSharpCode.SharpDevelop.Commands.SaveFile.Save);
if (vc.IsDirty) {
if (MessageService.AskQuestion("${res:MainWindow.DiscardChangesMessage}")) {
fileDiscarded = true;

2
src/Main/Base/Project/Src/Gui/Workbench/Layouts/SimpleWorkbenchLayout.cs

@ -541,7 +541,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -541,7 +541,7 @@ namespace ICSharpCode.SharpDevelop.Gui
if (!vc.IsDirty) continue;
if (vc.PrimaryFile != null) {
while (true) {
vc.Files.Foreach(ICSharpCode.SharpDevelop.Commands.SaveFile.Save);
vc.Files.ForEach(ICSharpCode.SharpDevelop.Commands.SaveFile.Save);
if (vc.IsDirty) {
if (MessageService.AskQuestion("${res:MainWindow.DiscardChangesMessage}")) {
break;

4
src/Main/Base/Project/Src/Project/BuildEngine.cs

@ -333,7 +333,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -333,7 +333,7 @@ namespace ICSharpCode.SharpDevelop.Project
node.options.Platform = options.SolutionPlatform;
// copy properties to project options
options.GlobalAdditionalProperties.Foreach(node.options.Properties.Add);
options.GlobalAdditionalProperties.ForEach(node.options.Properties.Add);
if (project == rootProject) {
foreach (var pair in options.ProjectAdditionalProperties) {
node.options.Properties[pair.Key] = pair.Value;
@ -604,7 +604,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -604,7 +604,7 @@ namespace ICSharpCode.SharpDevelop.Project
}
}
if (messagesToReport != null) {
messagesToReport.Foreach(ReportMessageInternal);
messagesToReport.ForEach(ReportMessageInternal);
}
if (newNodeWithOutputLockAlreadyFinishedBuilding) {
// if the node already finished building before it got the output lock, we need

2
src/Main/Base/Project/Src/Project/BuildOptions.cs

@ -61,7 +61,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -61,7 +61,7 @@ namespace ICSharpCode.SharpDevelop.Project
public static int DefaultParallelProjectCount {
get {
return PropertyService.Get("SharpDevelop.BuildParallelProjectCount", Environment.ProcessorCount >= 2 ? 2: 1);
return PropertyService.Get("SharpDevelop.BuildParallelProjectCount", Math.Min(4, Environment.ProcessorCount));
}
set {
PropertyService.Set("SharpDevelop.BuildParallelProjectCount", value);

8
src/Main/Base/Project/Src/Util/ExtensionMethods.cs

@ -22,7 +22,7 @@ namespace ICSharpCode.SharpDevelop @@ -22,7 +22,7 @@ namespace ICSharpCode.SharpDevelop
/// <summary>
/// Runs an action for all elements in the input.
/// </summary>
public static void Foreach<T>(this IEnumerable<T> input, Action<T> action)
public static void ForEach<T>(this IEnumerable<T> input, Action<T> action)
{
if (input == null)
throw new ArgumentNullException("input");
@ -31,6 +31,12 @@ namespace ICSharpCode.SharpDevelop @@ -31,6 +31,12 @@ namespace ICSharpCode.SharpDevelop
}
}
[Obsolete("Use ForEach instead.")]
public static void Foreach<T>(this IEnumerable<T> input, Action<T> action)
{
ForEach(input, action);
}
/// <summary>
/// Adds all <paramref name="elements"/> to <paramref name="list"/>.
/// </summary>

6
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/ExtensionMethods.cs

@ -29,6 +29,12 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -29,6 +29,12 @@ namespace ICSharpCode.SharpDevelop.Dom
list.Add(o);
}
/// <summary>
/// Converts a recursive data structure into a flat list.
/// </summary>
/// <param name="input">The root elements of the recursive data structure.</param>
/// <param name="recursive">The function that gets the children of an element.</param>
/// <returns>Iterator that enumerates the tree structure in preorder.</returns>
public static IEnumerable<T> Flatten<T>(this IEnumerable<T> input, Func<T, IEnumerable<T>> recursion)
{
Stack<IEnumerator<T>> stack = new Stack<IEnumerator<T>>();

Loading…
Cancel
Save