[ https://issues.apache.org/jira/browse/LUCENE-10143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17424107#comment-17424107 ]
Uwe Schindler commented on LUCENE-10143: ---------------------------------------- bq. One issue: Lots of DataInput/Output subclasses, why so many? In some cases it seems like bad design. We are asking for poor performance by having so much custom/duplicate code. That was exactly my problem 2 weeks ago! Why the shit do we have all this. One of the problems is that DataInput and DataOutput is its state as abstract class. It should be an interface with the default implementations ike readFoobar/writeFoobar as default methods (this was not possible in earlier days). This would also save us to have many copies because of IndexInput vs. DataInput only. Also some copies in FST were created to just make them implement another interface (FSTBytesReader extends DataInput with one additional method). This bad design made us to copy the whole class. With making DataInput just an Interface, we could solve all those problems: FSTBytesReader is another interface then. One that needs to work on byterrays can just add the FSTBytesReader interface and implement the missing method, but can be identical to the one I optimized already (ByteArrayDataInput). > RateLimitedIndexOutput should delegate writeShort/writeInt/writeLong > -------------------------------------------------------------------- > > Key: LUCENE-10143 > URL: https://issues.apache.org/jira/browse/LUCENE-10143 > Project: Lucene - Core > Issue Type: Improvement > Reporter: Adrien Grand > Priority: Minor > Attachments: screenshot-1.png > > Time Spent: 3h 10m > Remaining Estimate: 0h > > Otherwise merges are not taking advantage of LUCENE-10125. > cc [~uschindler] -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org