[
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: [email protected]
For additional commands, e-mail: [email protected]