You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ni...@apache.org on 2020/07/21 09:48:48 UTC
[lucenenet] 14/24: PERFORMANCE: Lucene.Net.Index.IndexWriter:
Replaced FlushTicket LinkedList with a Queue
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 8ff3022c52a8dd9a1446d515e350e4b20cd155f5
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sat Jul 18 01:00:08 2020 +0700
PERFORMANCE: Lucene.Net.Index.IndexWriter: Replaced FlushTicket LinkedList with a Queue
---
src/Lucene.Net/Index/IndexWriter.cs | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/Lucene.Net/Index/IndexWriter.cs b/src/Lucene.Net/Index/IndexWriter.cs
index ef56908..c52595b 100644
--- a/src/Lucene.Net/Index/IndexWriter.cs
+++ b/src/Lucene.Net/Index/IndexWriter.cs
@@ -254,7 +254,7 @@ namespace Lucene.Net.Index
private readonly MergePolicy mergePolicy;
private readonly IMergeScheduler mergeScheduler;
- private readonly LinkedList<MergePolicy.OneMerge> pendingMerges = new LinkedList<MergePolicy.OneMerge>();
+ private readonly Queue<MergePolicy.OneMerge> pendingMerges = new Queue<MergePolicy.OneMerge>();
private readonly JCG.HashSet<MergePolicy.OneMerge> runningMerges = new JCG.HashSet<MergePolicy.OneMerge>();
private IList<MergePolicy.OneMerge> mergeExceptions = new List<MergePolicy.OneMerge>();
private long mergeGen;
@@ -2467,8 +2467,7 @@ namespace Lucene.Net.Index
else
{
// Advance the merge from pending to running
- MergePolicy.OneMerge merge = pendingMerges.First.Value;
- pendingMerges.Remove(merge);
+ MergePolicy.OneMerge merge = pendingMerges.Dequeue();
runningMerges.Add(merge);
return merge;
}
@@ -4665,7 +4664,7 @@ namespace Lucene.Net.Index
EnsureValidMerge(merge);
- pendingMerges.AddLast(merge);
+ pendingMerges.Enqueue(merge);
if (infoStream.IsEnabled("IW"))
{