Speed up SegementDocsAndPositionsEnum by making it more friendly for JIT optimizations [LUCENE-3664]
- 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
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