siddharthteotia commented 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 to avoid the 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