Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Ungureanu <teromario@yahoo.com>2017-03-28 20:47:27 +0300
committerGitHub <noreply@github.com>2017-03-28 20:47:27 +0300
commit522676ea6126e743df6b108a194dc155f4e8519e (patch)
treeac459b894ab7dd2beb272715b5e4a96dd86374a0 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Util
parent6e309ed367ebe2719c26e80409f43e2f88a7f019 (diff)
Misc opt (#1960)
* [Core] Remove superfluous ToCharArray. * [Perf] Optimize StringBuilder usage Go through StringBuilder.Append(string) and StringBuilder.Append(object) usages. As follows, we no longer concat strings before appending to a stringbuilder, and we no longer box valueTypes which go through Append(object). * [Perf] Optimize StringBuilder.AppendLine Most notable improvements are in AssemblyBrowser and Diff calculation. * Fix feedback.
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Util')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Util/Diff.cs18
1 files changed, 9 insertions, 9 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Util/Diff.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Util/Diff.cs
index 04a4f871fc..dd8b8a32b5 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Util/Diff.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Util/Diff.cs
@@ -472,13 +472,13 @@ namespace MonoDevelop.Ide.Editor.Util
insStart = System.Math.Max (1, item.InsertStart - (distance != 0 ? distance : item.Context));
for (int i = System.Math.Min (remStart, insStart); i < item.RemoveStart; i++) {
- sb.AppendLine (" " + baseDocument.GetLineText (i, false));
+ sb.Append (" ").AppendLine (baseDocument.GetLineText (i, false));
}
for (int i = item.RemoveStart; i < item.RemoveStart + item.Removed; i++) {
- sb.AppendLine ("-" + baseDocument.GetLineText (i, false));
+ sb.Append ("-").AppendLine (baseDocument.GetLineText (i, false));
}
for (int i = item.InsertStart; i < item.InsertStart + item.Inserted; i++) {
- sb.AppendLine ("+" + changedDocument.GetLineText (i, false));
+ sb.Append ("+").AppendLine (changedDocument.GetLineText (i, false));
}
if (qh.Count != 0)
@@ -487,7 +487,7 @@ namespace MonoDevelop.Ide.Editor.Util
int remEnd = System.Math.Min (baseDocument.LineCount, item.RemoveStart + item.Removed + item.Context);
for (int i = item.RemoveStart + item.Removed; i < remEnd; i++) {
- sb.AppendLine (" " + baseDocument.GetLineText (i, false));
+ sb.Append (" ").AppendLine (baseDocument.GetLineText (i, false));
}
}
@@ -512,8 +512,8 @@ namespace MonoDevelop.Ide.Editor.Util
if (he.Current.IsEmpty)
return "";
- sb.AppendLine ("--- " + baseFileName);
- sb.AppendLine ("+++ " + changedFileName);
+ sb.Append ("--- ").AppendLine (baseFileName);
+ sb.Append ("+++ ").AppendLine (changedFileName);
current = he.Current;
@@ -531,7 +531,7 @@ namespace MonoDevelop.Ide.Editor.Util
remEnd = System.Math.Min (baseDocument.LineCount, next.RemoveStart + next.Removed + next.Context);
insEnd = System.Math.Min (changedDocument.LineCount, next.InsertStart + next.Inserted + next.Context);
} else {
- sb.AppendLine ("@@ -" + remStart + "," + (remEnd - remStart) + " +" + insStart + "," + (insEnd - insStart) + " @@");
+ sb.Append ("@@ -").Append (remStart).Append (",").Append (remEnd - remStart).Append (" +").Append (insStart).Append (",").Append (insEnd - insStart).AppendLine (" @@");
WriteHunks (qh, baseDocument, changedDocument, sb);
remStart = System.Math.Max (1, next.RemoveStart - next.Context);
@@ -544,8 +544,8 @@ namespace MonoDevelop.Ide.Editor.Util
current = next;
}
- if (qh.Count != 0) {
- sb.AppendLine ("@@ -" + remStart + "," + (remEnd - remStart) + " +" + insStart + "," + (insEnd - insStart) + " @@");
+ if (qh.Count != 0) {
+ sb.Append ("@@ -").Append (remStart).Append (",").Append (remEnd - remStart).Append (" +").Append (insStart).Append (",").Append (insEnd - insStart).AppendLine (" @@");
WriteHunks (qh, baseDocument, changedDocument, sb);
}
return sb.ToString ();