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 1a05007ed7d01596629720fbe5473fb123b242f1 Author: Shad Storhaug <[email protected]> AuthorDate: Mon Nov 21 10:35:42 2022 +0700 SWEEP: Reviewed to ensure we are consistently using Arrays.Fill() instead of the (slower) Array.Clear() method or a for loop (ouch). --- src/Lucene.Net.Analysis.Common/Analysis/Util/CharArrayMap.cs | 4 ++-- src/Lucene.Net/Codecs/Lucene40/BitVector.cs | 5 +---- src/Lucene.Net/Codecs/MultiLevelSkipListReader.cs | 6 +++--- src/Lucene.Net/Util/BytesRefArray.cs | 3 ++- src/Lucene.Net/Util/RamUsageEstimator.cs | 4 ++-- src/Lucene.Net/Util/TimSorter.cs | 3 ++- 6 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/Lucene.Net.Analysis.Common/Analysis/Util/CharArrayMap.cs b/src/Lucene.Net.Analysis.Common/Analysis/Util/CharArrayMap.cs index 487e52e4c..f4e42924a 100644 --- a/src/Lucene.Net.Analysis.Common/Analysis/Util/CharArrayMap.cs +++ b/src/Lucene.Net.Analysis.Common/Analysis/Util/CharArrayMap.cs @@ -350,8 +350,8 @@ namespace Lucene.Net.Analysis.Util { version++; count = 0; - keys.Fill(null); - values.Fill(null); + Arrays.Fill(keys, null); + Arrays.Fill(values, null); } /// <summary> diff --git a/src/Lucene.Net/Codecs/Lucene40/BitVector.cs b/src/Lucene.Net/Codecs/Lucene40/BitVector.cs index cfe4662fc..94dbe4fff 100644 --- a/src/Lucene.Net/Codecs/Lucene40/BitVector.cs +++ b/src/Lucene.Net/Codecs/Lucene40/BitVector.cs @@ -521,10 +521,7 @@ namespace Lucene.Net.Codecs.Lucene40 size = input.ReadInt32(); // (re)read size count = input.ReadInt32(); // read count bits = new byte[GetNumBytes(size)]; // allocate bits - for (int i = 0; i < bits.Length; ++i) - { - bits[i] = 0xff; - } + Arrays.Fill(bits, (byte)0xff); ClearUnusedBits(); int last = 0; int numCleared = Length - Count(); diff --git a/src/Lucene.Net/Codecs/MultiLevelSkipListReader.cs b/src/Lucene.Net/Codecs/MultiLevelSkipListReader.cs index 59624ae26..22856cf7d 100644 --- a/src/Lucene.Net/Codecs/MultiLevelSkipListReader.cs +++ b/src/Lucene.Net/Codecs/MultiLevelSkipListReader.cs @@ -255,9 +255,9 @@ namespace Lucene.Net.Codecs this.skipPointer[0] = skipPointer; this.docCount = df; if (Debugging.AssertsEnabled) Debugging.Assert(skipPointer >= 0 && skipPointer <= skipStream[0].Length,"invalid skip pointer: {0}, length={1}", skipPointer, skipStream[0].Length); - Array.Clear(m_skipDoc, 0, m_skipDoc.Length); - Array.Clear(numSkipped, 0, numSkipped.Length); - Array.Clear(childPointer, 0, childPointer.Length); + Arrays.Fill(m_skipDoc, 0); + Arrays.Fill(numSkipped, 0); + Arrays.Fill(childPointer, 0); haveSkipped = false; for (int i = 1; i < numberOfSkipLevels; i++) diff --git a/src/Lucene.Net/Util/BytesRefArray.cs b/src/Lucene.Net/Util/BytesRefArray.cs index eff14b050..0fc3fcce7 100644 --- a/src/Lucene.Net/Util/BytesRefArray.cs +++ b/src/Lucene.Net/Util/BytesRefArray.cs @@ -1,4 +1,5 @@ using Lucene.Net.Diagnostics; +using Lucene.Net.Support; using System; using System.Collections.Generic; using System.Runtime.CompilerServices; @@ -57,7 +58,7 @@ namespace Lucene.Net.Util { lastElement = 0; currentOffset = 0; - Array.Clear(offsets, 0, offsets.Length); + Arrays.Fill(offsets, 0); pool.Reset(false, true); // no need to 0 fill the buffers we control the allocator } diff --git a/src/Lucene.Net/Util/RamUsageEstimator.cs b/src/Lucene.Net/Util/RamUsageEstimator.cs index b2c4ac035..74915d05e 100644 --- a/src/Lucene.Net/Util/RamUsageEstimator.cs +++ b/src/Lucene.Net/Util/RamUsageEstimator.cs @@ -912,7 +912,7 @@ namespace Lucene.Net.Util keys[slot] = key; } } - Array.Clear(oldKeys, 0, oldKeys.Length); + Arrays.Fill(oldKeys, null); } /// <summary> @@ -969,7 +969,7 @@ namespace Lucene.Net.Util public void Clear() { Assigned = 0; - Array.Clear(keys, 0, keys.Length); + Arrays.Fill(keys, null); } public int Count => Assigned; // LUCENENET NOTE: This was size() in Lucene. diff --git a/src/Lucene.Net/Util/TimSorter.cs b/src/Lucene.Net/Util/TimSorter.cs index 66f960a79..591714f61 100644 --- a/src/Lucene.Net/Util/TimSorter.cs +++ b/src/Lucene.Net/Util/TimSorter.cs @@ -1,5 +1,6 @@ using J2N.Numerics; using Lucene.Net.Diagnostics; +using Lucene.Net.Support; using System; using System.Runtime.CompilerServices; @@ -200,7 +201,7 @@ namespace Lucene.Net.Util internal virtual void Reset(int from, int to) { stackSize = 0; - Array.Clear(runEnds, 0, runEnds.Length); + Arrays.Fill(runEnds, 0); runEnds[0] = from; this.to = to; int length = to - from;
