Details
-
Improvement
-
Status: Patch Available
-
Major
-
Resolution: Fixed
-
None
-
None
-
New
Description
This is derived from [LUCENE-10627|https://github.com/apache/lucene/pull/987]
Code: https://github.com/apache/lucene/pull/1034
The abstract method `copyBytes` in DataOutput have to copy from input to a copyBuffer and then write into ByteBuffersDataOutput.blocks, i think there is unnecessary, we can override it, copy directly from input into output.
with override this method,
- Reduce memory copy in `Lucene90CompressingStoredFieldsWriter#copyOneDoc` -> `bufferdDocs.copyBytes(DataInput input)`
- Reduce memory copy in `Lucene90CompoundFormat.writeCompoundFile` -> `data.copyBytes` when input is `BufferedChecksumIndexinput` and output is `ByteBuffersDataOutput`
- Reduce memory `IndexWriter#copySegmentAsIs` ->CopyFrom -> copyBytes
Attachments
Issue Links
- links to