You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@iotdb.apache.org by "Xiangdong Huang (Jira)" <ji...@apache.org> on 2020/06/04 14:09:00 UTC

[jira] [Commented] (IOTDB-743) Use Runtime Code-Generation to improve speed and efficiency of Queries

    [ https://issues.apache.org/jira/browse/IOTDB-743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17125943#comment-17125943 ] 

Xiangdong Huang commented on IOTDB-743:
---------------------------------------

Hi Julian, can you provide more detail examples? 

> Use Runtime Code-Generation to improve speed and efficiency of Queries
> ----------------------------------------------------------------------
>
>                 Key: IOTDB-743
>                 URL: https://issues.apache.org/jira/browse/IOTDB-743
>             Project: Apache IoTDB
>          Issue Type: New Feature
>          Components: Core/Engine, Core/TsFile
>            Reporter: Julian Feinauer
>            Priority: Major
>
> Many Databases and ohter Open Source projects that have to handle big chunks of "similar" Data in one query use some sort of code-generation (e.g. Apache Calcite, Apache Drill, Apache Spark, Postgres since 10.0, ...).
> Generally, the idea is that its more efficient to create custom "Reader" or even "Calculator" classes that are applied to each Row of a query. Although there is initial cost of assembling the code and compiling it but this will pay out in the long run as you save time for each row due to more efficient generated code and fewer branching.
> This could even make sense on TsFile Level if for a specific read operation the exact shema that one wants to read is known and then fix we could genreate specific code to only read that schema.
> Altough one should also consider suitable benchmarks to estimate how much efficiently that brings and ideally only activate that feature when the optimizer decides that it may be beneficial.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)