GraalVM

Started by Massimo Fidanzaabout 7 years ago3 messages
#1Massimo Fidanza
malix0@gmail.com

Do you know about GraalVM (https://www.graalvm.org/)? This is a new
polyglot VM that can run in context of Oracle and MySql, I think that
supporting it on Postgresql will be a good thing.

#2Chapman Flack
chap@anastigmatix.net
In reply to: Massimo Fidanza (#1)
Re: GraalVM

On 12/19/18 07:42, Massimo Fidanza wrote:

Do you know about GraalVM (https://www.graalvm.org/)? This is a new
polyglot VM that can run in context of Oracle and MySql, I think that
supporting it on Postgresql will be a good thing.

PL/Java will run on it now ... just set pljava.libjvm_location to the
libjvm.so under the graalvm installation.

There's not (yet) support for declaring SQL functions directly in the
other languages supported; for now, there can be Java functions that
will call into javascript, R, python, etc. as needed.

Ability to directly declare functions in the various supported languages
would be the obvious next step; I'm working on some refactoring to make
that easier.

There are many things cool about GraalVM. Historically, if you're
implementing a language, you might do the work about three times
(first developing an interpreter, then a simple JIT for the regions
the interpreter finds to be hot, then a more optimizing version ...).
GraalVM only asks you to write the interpreter (with some clever
annotations) ... and by partial evaluation it can derive your compiler.

-Chap

#3Massimo Fidanza
malix0@gmail.com
In reply to: Chapman Flack (#2)
Re: GraalVM

This is a good news, also for code portability

Il giorno mer 19 dic 2018, 15:17 Chapman Flack <chap@anastigmatix.net> ha
scritto:

Show quoted text

On 12/19/18 07:42, Massimo Fidanza wrote:

Do you know about GraalVM (https://www.graalvm.org/)? This is a new
polyglot VM that can run in context of Oracle and MySql, I think that
supporting it on Postgresql will be a good thing.

PL/Java will run on it now ... just set pljava.libjvm_location to the
libjvm.so under the graalvm installation.

There's not (yet) support for declaring SQL functions directly in the
other languages supported; for now, there can be Java functions that
will call into javascript, R, python, etc. as needed.

Ability to directly declare functions in the various supported languages
would be the obvious next step; I'm working on some refactoring to make
that easier.

There are many things cool about GraalVM. Historically, if you're
implementing a language, you might do the work about three times
(first developing an interpreter, then a simple JIT for the regions
the interpreter finds to be hot, then a more optimizing version ...).
GraalVM only asks you to write the interpreter (with some clever
annotations) ... and by partial evaluation it can derive your compiler.

-Chap