apache / apache/lucene

Use LinkedList instead of manual array re-sizing for better throughput. [LUCENE-9432]

Open
#10,472 14 comments 0 reactions 0 assignees View on GitHub
legacy-jira-label:patch-available legacy-jira-label:performance legacy-jira-label:pull-request-available legacy-jira-priority:Minor module:core/codecs type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

I observed that using `LinkedList` instead of manually re-sizing and copying `SegmentTermEnumFrame`s improves red-line QPS. Does it make sense to include this?

---
Migrated from [LUCENE-9432](https://issues.apache.org/jira/browse/LUCENE-9432) by Mohammad Sadiq (@mohammadsadiq), updated Aug 28 2020
Attachments: [LUCENE-9432.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-9432/LUCENE-9432.patch)

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the attached LUCENE-9432.patch and locating the code that manually resizes and copies SegmentTermEnumFrames. Compare the proposed LinkedList approach with the existing implementation using the relevant Lucene performance evidence, then verify that the affected tests pass and the throughput improvement is reproducible.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
performance, search
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.