Live data from Hacker News

GraalVM: Run Programs Faster Anywhere

graalvm.org

61–70 of 218 posts

Re: GraalVM: Run Programs Faster Anywhere

#61

Keep in mind that while this is nice technology, it's Oracle-based, split in CE/EE (which in itself is not a problem, but CE doesn't run on macOS), and they will find a way to screw you over at some point in the future regardless of what you do, use or choose.

The reason why we don't build CE on Mac OS is purely technical. Its because there was no OpenJDK 8 build for Mac that we could use. We hope we can change that soon. OpenJDK builds got a lot more regular with Java version >= 10.

Currently we have the same APIs for CE and EE. So applications are easily portable between those two. We have no plans to change this.

But. You don't have to take our word for it. CE is open source and you may build, extend and maintain it yourself if you want to.

Re: GraalVM: Run Programs Faster Anywhere

#62

Keep in mind that while this is nice technology, it's Oracle-based, split in CE/EE (which in itself is not a problem, but CE doesn't run on macOS), and they will find a way to screw you over at some point in the future regardless of what you do, use or choose.

The reason why we don't build CE on Mac OS is purely technical. Its because there was no OpenJDK 8 build for Mac that we could use. We hope we can change that soon. OpenJDK builds got a lot more regular with Java version >= 10. Currently we have the same APIs for CE and EE. So applications are easily portable between those two. We have no plans to change this. But. You don't have to take our word for it. CE is open s…

Is it Oracle Oracle, or Oracle SUN product? BTW, it sounds pretty cool, I am wondering how do you convert between complex datatypes while passing parameters between different languages and not losing much speed with it?

Re: GraalVM: Run Programs Faster Anywhere

#63
post #39

Earlier quoted context omitted.

It's not listed there, and didn't reach full feature parity (and seems to be dead now). https://github.com/frodwith/jaque is the project though, which is an implementation of the Nock VM from Urbit

Ho wow, never heard of it. Will put it on the experiments list. Thanks a lot!

Definitely not dead -- it got stalled for a while because Urbit tends to use deep stacks and both Graal and the JVM seem to favor shallow ones. The author (not me) came up with a "meta-stack" design that may mitigate this issue and will go back and try it soon.

But the performance seen on a trivial Ackerman function was very good -- Nock via Graal got close to C performance. That's impressive for what's basically a Lisp.

Re: GraalVM: Run Programs Faster Anywhere

#64
post #7

Am I correct in reading the license in Github that this is all GPL? Albeit GPL2 but still not some Oracle proprietary license. "One VM to rule them all" reminds me of Parrot VM (for Perl 6). Looks like development slowed down a year or two ago. Back then, it got me excited as it looked like the "open source community" alternative to "Big Corporate Java". https://en.wikipedia.org/wiki/Parrot_virtual_machine

> "One VM to rule them all"

Except a VM with a more liberal license could easily beat it in popularity.

Re: GraalVM: Run Programs Faster Anywhere

#65
post #59

I have been paying some scant attention to GraalVM for some time, having been excited by "universal VMs" for decades now (including setups like LLVM, which most people forget was designed as a JIT-compiled VM, despite that being in the name), and I develop Cycript (which is somewhat the "opposite" technology, binding together existing virtual machines all into the same process space and doing crazy interop; though I…

Thank you for those questions.

> Can I AOT with this (via SubstrateVM) and deploy to "mobile" targets, and specifically iOS?

Technically there is no reason to not support it. But support is not implemented yet.

> Are there any examples of embedding GraalVM in an existing native application (such as the noted idea of having GraalVM accessible inside of MySQL)?

Yes. Oracle MLE[1] and MySQL already work. Oracle MLE you can try already. We have a native embedding API (its very similar to the Java API). We could not yet quite finish the documentation of it for website. But its already included look for a file polyglot_api.h in the binary.

[1] https://oracle.github.io/oracle-db-mle/releases/0.2.7/

Re: GraalVM: Run Programs Faster Anywhere

#66

Keep in mind that while this is nice technology, it's Oracle-based, split in CE/EE (which in itself is not a problem, but CE doesn't run on macOS), and they will find a way to screw you over at some point in the future regardless of what you do, use or choose.

The reason why we don't build CE on Mac OS is purely technical. Its because there was no OpenJDK 8 build for Mac that we could use. We hope we can change that soon. OpenJDK builds got a lot more regular with Java version >= 10. Currently we have the same APIs for CE and EE. So applications are easily portable between those two. We have no plans to change this. But. You don't have to take our word for it. CE is open s…

> CE is open source

GPL.

No comment beyond that but I thought I might save someone a few clicks.

Re: GraalVM: Run Programs Faster Anywhere

#68
post #62

Earlier quoted context omitted.

The reason why we don't build CE on Mac OS is purely technical. Its because there was no OpenJDK 8 build for Mac that we could use. We hope we can change that soon. OpenJDK builds got a lot more regular with Java version >= 10. Currently we have the same APIs for CE and EE. So applications are easily portable between those two. We have no plans to change this. But. You don't have to take our word for it. CE is open s…

Is it Oracle Oracle, or Oracle SUN product? BTW, it sounds pretty cool, I am wondering how do you convert between complex datatypes while passing parameters between different languages and not losing much speed with it?

Me too. I’m thinking there must be some library that knows how to marshal between object representations. Surely Graal doesn’t have universal objects that suit every language.

Re: GraalVM: Run Programs Faster Anywhere

#69
post #62

Earlier quoted context omitted.

The reason why we don't build CE on Mac OS is purely technical. Its because there was no OpenJDK 8 build for Mac that we could use. We hope we can change that soon. OpenJDK builds got a lot more regular with Java version >= 10. Currently we have the same APIs for CE and EE. So applications are easily portable between those two. We have no plans to change this. But. You don't have to take our word for it. CE is open s…

Is it Oracle Oracle, or Oracle SUN product? BTW, it sounds pretty cool, I am wondering how do you convert between complex datatypes while passing parameters between different languages and not losing much speed with it?

We don't convert. We have defined a contract that all languages can work with (quite a challenge and still evolving).

From the website:

> In order to provide foreign polyglot values meaning in languages we have developed the so-called polyglot interoperability protocol. This interoperability protocol consists of a set of standardized messages that every Graal language implements and uses for foreign polyglot values. The protocol allows GraalVM to support interoperability between any combination of languages without requiring them to know of each other.

This technique is based on some research we did in 2015: http://chrisseaton.com/rubytruffle/dls15-interop/dls15-inter...

Re: GraalVM: Run Programs Faster Anywhere

#70
post #66

Earlier quoted context omitted.

The reason why we don't build CE on Mac OS is purely technical. Its because there was no OpenJDK 8 build for Mac that we could use. We hope we can change that soon. OpenJDK builds got a lot more regular with Java version >= 10. Currently we have the same APIs for CE and EE. So applications are easily portable between those two. We have no plans to change this. But. You don't have to take our word for it. CE is open s…

> CE is open source GPL. No comment beyond that but I thought I might save someone a few clicks.

I posted all the license below in a comment.
Post reply on HN