PooledSegmentReader, pools SegmentReader underlying byte arrays [LUCENE-1574]
- Dominant language
- Java
- Stars
- 3.6k
- Forks
- 1.4k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 88
Description
PooledSegmentReader pools the underlying byte arrays of deleted docs and norms for realtime search. It is designed for use with IndexReader.clone which can create many copies of byte arrays, which are of the same length for a given segment. When pooled they can be reused which could save on memory.
Do we want to benchmark the memory usage comparison of PooledSegmentReader vs GC? Many times GC is enough for these smaller objects.
---
Migrated from [LUCENE-1574](https://issues.apache.org/jira/browse/LUCENE-1574) by Jason Rutherglen, updated May 09 2016
Attachments: [LUCENE-1574.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-1574/LUCENE-1574.patch)
Contributor guide
Research direction
Start by reading the PooledSegmentReader and IndexReader.clone discussion in this issue and inspect the attached LUCENE-1574.patch. Compare memory usage for deleted-doc and norms byte arrays against GC, with a clear comparison benchmark serving as the completion criterion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- search
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100