siddharthteotia edited a comment on pull request #6973:
URL: https://github.com/apache/incubator-pinot/pull/6973#issuecomment-849032571


   @Jackie-Jiang 
   
   A query on a 50 million row dataset that was taking 7secs repeatedly was 
taking 5.5secs on multiple runs. It was a select * reporting style query. 
   
   So a reasonable optimization. Another reason for doing that is to get better 
at leveraging information already available and extracted at query planning 
time later during query runtime and avoid branches if possible.
   
   Ideally I would like to replace transform operator from the plan completely 
with just project operator for non transform queries. If Pinot had run time 
query specific code generation, it would have been done anyway. But in the 
absence of that, we should use handwritten specialized operator  meant for the 
query as much as possible.  We have done some changes on replacing transform 
operator with project and the changes are quite invasive. Let's see how that 
goes. 
   
   Dynamic dispatch due to runtime polymorphism can be expensive sometimes but 
hotspot jvm does a pretty good job of optimizing it once the initial code gets 
compiled to native code. What additional thing I used to do for inheritance is 
to cache the super class final variables in a local reference.  But I think 
that's overkill and not needed or we can do a follow-up.
   
   cc @GSharayu 


-- 
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.

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