gortiz commented on PR #10372:
URL: https://github.com/apache/pinot/pull/10372#issuecomment-1453113881

   I know you are good, but I wouldn't request you to review the performance 
impact on an external project without showing you the code. But I'm sure you 
can review these changes and try to imagine the impact on Apache Pinot. The 
code is mostly the same but:
   1. We now create two OptionaInt objects.
   2. The buffer is stored as a local variable instead of a final attribute.
   3. `ScanBasedDocIdIterator.applyAnd(ImmutableRoaringBitmap)` is implemented 
as a call to the new overloaded method that receives an iterator.
   
   I would say that 2 should have a positive but negligible impact and given 
the length of `ScanBasedDocIdIterator.applyAnd(ImmutableRoaringBitmap)` it 
should always be inlined. About 1, it may have a very low impact, but we can 
find a way to do not create them if we think it is problematic.
   
   About the StarTree optimization: our plan is not to provide a better general 
window size and keep it in the proprietary code but to use optimize an 
inefficient case we only have in our proprietary plugins. The default 256 value 
may be great to improve the CPU cache utilization when the data is in main 
memory and as said, we don't want to change that. But when data has to be 
fetched using the network, the cost network cost is larger than anything else. 
In that specific case, larger blocks reduce the number of network calls and 
significantly increase the performance. Ideally we would like to continue 
applying windows of size 256 in the calculation part but fetch (and cache) 
larger windows, but that would require to communicate the planning layer with 
the storage layer. That dependency totally make sense, but it would need to do 
a larger refactor, so we are happy with this intermediate solution right now.


-- 
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: commits-unsubscr...@pinot.apache.org

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


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

Reply via email to