This is an automated email from the ASF dual-hosted git repository. nightowl888 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/lucenenet.git
commit 6719070fcb008dda88dbb97250fd5144a7d04477 Author: Shad Storhaug <[email protected]> AuthorDate: Thu Jul 16 02:20:24 2020 +0700 Lucene.Net.Util.ArrayUtil: Reduced memory allocations when using GetNaturalComparer<T>() by creating a singleton instance. --- src/Lucene.Net/Util/ArrayUtil.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Lucene.Net/Util/ArrayUtil.cs b/src/Lucene.Net/Util/ArrayUtil.cs index b13b0c0..3931aad 100644 --- a/src/Lucene.Net/Util/ArrayUtil.cs +++ b/src/Lucene.Net/Util/ArrayUtil.cs @@ -797,10 +797,12 @@ namespace Lucene.Net.Util #endif private class NaturalComparer<T> : IComparer<T> //where T : IComparable<T> { - internal NaturalComparer() + private NaturalComparer() { } + public static NaturalComparer<T> Default { get; } = new NaturalComparer<T>(); + public virtual int Compare(T o1, T o2) { return ((IComparable<T>)o1).CompareTo(o2); @@ -841,7 +843,7 @@ namespace Lucene.Net.Util // to implement IComparable<T>. else if (typeof(IComparable<T>).IsAssignableFrom(genericClosingType)) { - return new NaturalComparer<T>(); + return NaturalComparer<T>.Default; } return Comparer<T>.Default;
