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
path: root/main/src
diff options
context:
space:
mode:
authorMike Krüger <mikkrg@microsoft.com>2018-02-27 14:52:06 +0300
committerMike Krüger <mikkrg@microsoft.com>2018-02-27 14:52:06 +0300
commit0dd2ace6ccc4085be98047db78331c0bb5399914 (patch)
treeeb53052b104c64ed5b50ce3c9a07fc1ffbb74ebf /main/src
parent4abf9ecf79a9ebbb0288e5a54e4fd24ee9c823f5 (diff)
[Core] Implemented treshold for the StringBuilderCache.
Diffstat (limited to 'main/src')
-rw-r--r--main/src/core/MonoDevelop.Core/MonoDevelop.Core/StringBuilderCache.cs5
1 files changed, 5 insertions, 0 deletions
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core/StringBuilderCache.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core/StringBuilderCache.cs
index c3d3c86084..b2957ed843 100644
--- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core/StringBuilderCache.cs
+++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core/StringBuilderCache.cs
@@ -33,6 +33,8 @@ namespace MonoDevelop.Core
/// </summary>
public static class StringBuilderCache
{
+ const int Threshold = 4096;
+
public static StringBuilder Allocate ()
{
var result = SharedPools.Default<StringBuilder> ().Allocate ();
@@ -47,6 +49,9 @@ namespace MonoDevelop.Core
public static void Free (StringBuilder sb)
{
+ sb.Clear ();
+ if (sb.Capacity > Threshold)
+ sb.Capacity = Threshold;
SharedPools.Default<StringBuilder> ().Free (sb);
}