apache / apache/lucene

Speed up SegementDocsAndPositionsEnum by making it more friendly for JIT optimizations [LUCENE-3664]

Open
#4,738 6 comments 0 reactions 0 assignees View on GitHub
affects-version:4.0-ALPHA legacy-jira-fix-version:4.9 legacy-jira-fix-version:6.0 legacy-jira-priority:Minor module:core/search type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

#4722 applied some refactoring to make SegmentDocsEnum reuse some code and divorce the liveDocs and no-liveDocs case into sep classes to make more friendly for jit optimizations. I did the same thing for SegmentDocsAndPositions[AndPayloads]Enum removing a couple of hundred lines of code abstracting it into a base class. patch follows in a sec...

---
Migrated from [LUCENE-3664](https://issues.apache.org/jira/browse/LUCENE-3664) by Simon Willnauer (@s1monw), updated May 09 2016
Attachments: [LUCENE-3664.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-3664/LUCENE-3664.patch)

Contributor guide

Open the contributing guide

Research direction

Start with the attached LUCENE-3664.patch and compare the SegmentDocsAndPositions[AndPayloads]Enum changes with the related SegmentDocsEnum refactoring in issue #4722. Confirm that the shared implementation and separate liveDocs/no-liveDocs cases are covered without changing existing behavior; no specific test is named in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
search
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.