zhuqi-lucas commented on PR #16398:
URL: https://github.com/apache/datafusion/pull/16398#issuecomment-2988090319

   > > Could share budget count affect performance?
   > 
   > @zhuqi-lucas the situations where this can have an impact is when you have 
an operator that switches to a different input stream when the polled input 
stream returns pending. Interleave is a simple example of that. With the per 
stream budget, the second poll may end up returning ready. With the shared task 
budget the second poll will get 'budget depleted' and return pending as well. 
We may incur some overhead by attempting to poll the second stream even though 
you can already know that it will return pending.
   > 
   > Besides that type of situation, and disregarding any non-obvious side 
effects of using thread locals for a moment, I don't see how shared vs 
non-shared budget would make a difference. There shouldn't be competition 
between tasks for the same budget; the counter is distinct per task and is 
reset each task 'tick'.
   
   Got it, so we add Cooperative to some operators such as 
sort_perserve_merging when partition > 1, it looks like similar to interleave 
which will have many inputs? I am not sure if it affects some performance. And 
the original solution, we only add yield to leaf node, leaf node will only has 
one input i believe.


-- 
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: github-unsubscr...@datafusion.apache.org

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


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

Reply via email to