uschindler commented on pull request #518:
URL: https://github.com/apache/lucene/pull/518#issuecomment-999932159


   Thanks Mike. It is mich more stable now (std dev) and on average 0%. We 
should figure out why it gets faster on some parts while slower on other parts.
   
   What is different:
   - some parts use direct access off-heap
   - some parts mainly copy byte arrays between mmap and heap and do the work 
on-heap
   
   From what I have learned, copy operations have high overhead because:
   - they are not hot, so aren't optimized so fast
   - when not optimized, the setup cost is high (lots of class checks to get 
array type, decision for swapping bytes). This is especially heavy for small 
arrays.
   
   When discussing with Robert it looks like it might be better to just have a 
simple copy-loop. This affects long[] arrays, as those are <64 entries. We can 
test this easily by commenting out the copy method for floats and longs, so it 
falls back to default impl in IndexInput.
   
   I just had no time to test this.


-- 
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: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to