uschindler commented on PR #15285:
URL: https://github.com/apache/lucene/pull/15285#issuecomment-3522748320

   Hi,
   I think the current PR matches most of the work to do, I am just not sure if 
we really need that added complexity.
   
   This comment in issue:
   
   > IMO it would provide a cleaner separation of functionality and simplify 
code a bit too (for e.g. we can move classes like 
[Lucene99MemorySegmentByteVectorScorer](https://github.com/apache/lucene/blob/602bfbd9af0ee9027de45c1572527eee6b073841/lucene/core/src/java25/org/apache/lucene/internal/vectorization/Lucene99MemorySegmentByteVectorScorer.java#L30)
 out of java25/) + users that do not enable vectorization can score vectors 
off-heap
   
   This is an argument, but still I don't see a reason to write code on top of 
MemorySegment for non-vectorized code. It does not get simpler, because you 
still need to implementations: One for MemorySegments and one from 
RandomAccessInput / IndexInput.
   
   The current code duplicates a lot of methods and has variants for 
(byte[],byte[]), (MemorySegment,byte[]), (MemorySegment,MemorySegment).
   
   Maybe for Lucene 11 the better idea would be to implement VectorUtil only 
with MemorySegment and throw away the byte[] impls. The code should be same 
speed (if Hotspot works correct). If you have byte[] code you can wrap it as a 
MemorySegment before calling VectorUtil.
   
   Provokative remark: In general, I tend to think that at some point we should 
throw away ByteBuffer and byte[] everywhere in our code and replace it by 
MemorySegment. This would also allow us to get rid of certain 31 bit 
limitations. Of course I am planning to submit a PR to replace the 
ByteBuffersDirectory by a MemorySegment backed variant! Keep in mind that 
MemorySegment also works on-heap! This would allow for example the current 
NRTCachingDirectory to vectorize like MMapDir.
   
   P.S.: Sorry if my comment yesterday was a bit harsh reagrding "horrible 
generics".
   
   Uwe


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to