I've profiled case and found out next hot paths: get_Item: 54,56% 1. 30.30% return this.parameters.FindIndex((Predicate<FbParameter>) (x => x.InternalParameterName.Equals(normalizedParameterName, StringComparison.CurrentCultureIgnoreCase))); Equals call 2. 21,51% internal static string NormalizeParameterName(string parameterName) { if (string.IsNullOrEmpty(parameterName) || parameterName.StartsWith("@")) return parameterName; return string.Format("@{0}", (object) parameterName); } This method also can be optmized. StartsWith -> parameterName[0] == '@' string.Format -> string.Concat("@", parameterName)
On 26 August 2015 at 16:45, Jiří Činčura <j...@cincura.net> wrote: >> Can you share profiler report? > > There's a test app attached to the ticket. It clearly shows the hot spot. I > can share only times (from my machine). > > -- > Mgr. Jiří Činčura > Independent IT Specialist > > > ------------------------------------------------------------------------------ > _______________________________________________ > Firebird-net-provider mailing list > Firebird-net-provider@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider ------------------------------------------------------------------------------ _______________________________________________ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider