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

Jacques Nadeau commented on CALCITE-4786:
-----------------------------------------

For those that are interested, tracking the work to compile within the context 
of Substrait here: [https://github.com/substrait-io/substrait/issues/21]

To give people some sense of the differences using GraalVM vs JVM, I did a 
non-scientific test: simple cli program that parses a trivial query, converts 
it to rel and then converts it to a substrait plan (using linux time command).

 
|| ||JVM||Native Image||
|Query Parsing & Substrait Conversion Time|1.5s|<0.01s|

 

As mentioned, this would enable use cases such as FaaS/AWS Lambda where startup 
time are critical. As part of this work I also hope to introduce a C API & 
shared library for this type of functionality so Calcite's richness can be used 
from more languages.

> Facilitate use of graalvm native-image compilation
> --------------------------------------------------
>
>                 Key: CALCITE-4786
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4786
>             Project: Calcite
>          Issue Type: Improvement
>          Components: build
>            Reporter: Jacques Nadeau
>            Priority: Major
>
> Right now, there are number of things that make it difficult to use Calcite 
> with GraalVM native compilation.
> There are several reasons that supporting this kind of compilation could be 
> beneficial:
> - Enable use of Calcite as a Lambda with minimal startup-time
> - Create a Calcite shared library that can be easily embedded in other 
> languages
> Initially, I would focus this work on core parsing and query planning. 
> This work was inspired by work on https://substrait.io
> Let's use this ticket to track improvements that can be done to enable this.



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

Reply via email to