Hi Abhijit,
there are actually a lot of places where time is spent. I think the most
time consuming places are jvm lazy class loading and code generation for
metadata framework.
Anyway, on a long distance the planning time will be very small.
Thanks.
--
Roman
On 24.08.2023 00:51, Abhijit Subramanya wrote:
Thanks a lot for your help.
Would you happen to have any insights into where exactly the time is spent
during the warm up?
On Tue, Aug 22, 2023 at 11:58 PM Roman Kondakov <[email protected]>
wrote:
Hi Abhijit,
Usually the very first query is optimized a bit long in Calcite. But
after some warm-up the next queries will be planned faster and faster.
If you use Calcite as a part of a server application, then the problem
with a long query planning will be eliminated after a few query runs.
Thanks.
--
Roman
On 23.08.2023 01:33, Abhijit Subramanya wrote:
Hi,
I am currently working with Apache Calcite and using the
VolcanoPlanner to optimize queries. I've noticed that the
planner.setRoot()
function can take approximately 100ms to complete. After some profiling,
it
appears that the JaninoRelMetadataProvider.compile function might be the
bottleneck.
Is this level of optimization time expected for a simple query like:
SELECT * FROM table1
LEFT JOIN table2 ON table1.a = table2.a
WHERE d >= '2023-08-01'
LIMIT 1000;
I'm running this on my MacBook, which has macOS Ventura, 16GB of RAM, and
10 CPU cores. I am using the latest version of calcite from the github
repo.
Are there specific settings or configurations I should be aware of for
optimizing query compilation times in Calcite?
Thanks