From 1ac9c50568f928ea71b81be8759ef673fecdcaee Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Sat, 6 Feb 2016 12:57:05 +0100 Subject: [PATCH] Use static PerspexParserFactory. Improves startup times on XamlTestApplication from about 9.4 to 2.6 seconds. --- .../Perspex.Markup.Xaml/PerspexXamlLoader.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Markup/Perspex.Markup.Xaml/PerspexXamlLoader.cs b/src/Markup/Perspex.Markup.Xaml/PerspexXamlLoader.cs index 2c2ee23510..b31fc9c85d 100644 --- a/src/Markup/Perspex.Markup.Xaml/PerspexXamlLoader.cs +++ b/src/Markup/Perspex.Markup.Xaml/PerspexXamlLoader.cs @@ -19,11 +19,13 @@ namespace Perspex.Markup.Xaml /// public class PerspexXamlLoader : XmlLoader { + private static PerspexParserFactory s_parserFactory; + /// /// Initializes a new instance of the class. /// public PerspexXamlLoader() - : this(new PerspexParserFactory()) + : this(GetParserFactory()) { } @@ -126,6 +128,16 @@ namespace Perspex.Markup.Xaml } } + private static PerspexParserFactory GetParserFactory() + { + if (s_parserFactory == null) + { + s_parserFactory = new PerspexParserFactory(); + } + + return s_parserFactory; + } + /// /// Gets the URI for a type. ///