From edf4e91fc3df8936edfd7c3b6202783f96f7f3e4 Mon Sep 17 00:00:00 2001 From: Alexandre Mutel Date: Wed, 24 Feb 2016 06:13:11 +0900 Subject: [PATCH] Improve performance of StringBuilderCache.Local() --- src/Textamina.Markdig/Helpers/StringBuilderCache.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Textamina.Markdig/Helpers/StringBuilderCache.cs b/src/Textamina.Markdig/Helpers/StringBuilderCache.cs index 8f4cd382..a1b8ba4e 100644 --- a/src/Textamina.Markdig/Helpers/StringBuilderCache.cs +++ b/src/Textamina.Markdig/Helpers/StringBuilderCache.cs @@ -14,8 +14,12 @@ namespace Textamina.Markdig.Helpers public static StringBuilder Local() { - local.Clear(); - return local; + var sb = local; + if (sb.Length > 0) + { + sb.Clear(); + } + return sb; } private readonly Stack builders; @@ -38,7 +42,10 @@ namespace Textamina.Markdig.Helpers public void Release(StringBuilder builder) { if (builder == null) throw new ArgumentNullException(nameof(builder)); - builder.Clear(); + if (builder.Length > 0) + { + builder.Clear(); + } builders.Push(builder); } }