CompoundFileReader's openInput produces streams that may do an extra buffer copy --------------------------------------------------------------------------------
Key: LUCENE-892 URL: https://issues.apache.org/jira/browse/LUCENE-892 Project: Lucene - Java Issue Type: Improvement Components: Index Affects Versions: 2.1 Reporter: Michael McCandless Assigned To: Michael McCandless Priority: Minor Spinoff of LUCENE-888. The class for reading from a compound file (CompoundFileReader) has a primary stream which is a BufferedIndexInput when that stream is from an FSDirectory (which is the norm). That is one layer of buffering. Then, when its openInput is called, a CSIndexInput is created which also subclasses from BufferedIndexInput. That's a second layer of buffering. When a consumer actually uses that CSIndexInput to read, and a call to readByte or readBytes runs out of what's in the first buffer, it will go to refill its buffer. But that refill calls the first BufferedIndexInput which in turn may refill its buffer (a double copy) by reading the underlying stream. Not sure how to fix it yet but we should change things to not do the extra buffer copy. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]