Live data from Hacker News

GraalVM: Run Programs Faster Anywhere

graalvm.org

81–90 of 218 posts

Re: GraalVM: Run Programs Faster Anywhere

#81

Earlier quoted context omitted.

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

Hi, author of jaque here. I've been working on some other things for a little while, but I'll be getting back to jaque soon. It's quite out of date and needs to be brought up to 1.0 and cleaned up a bit before I start grousing about the stack issues I was running into on the mailing list, but when I last was working on it I was running into issues with Graal when trying to increase the java stack size. Deep but bound…

Truffle tech lead here. Happy to hear you are not giving up :-) Do you mind if I include your language on the experiments list?

BTW.: I'd recommend upgrading one Truffle release at a time. So it should always continue to compile. Just fix the deprecation warnings and continue with the next version until you reached the last version. We always keep deprecations for at least one version before we remove/break APIs.

If you want to discuss something in more detail feel free to join us in the Gitter chat: https://gitter.im/graalvm/graal-core

We don't bite.

Re: GraalVM: Run Programs Faster Anywhere

#82
post #50

Graal dev here. If you want to checkout all the sources/licenses of GraalVM CE. They are here: Graal: https://github.com/oracle/graal (GPLv2 with CPE) JavaScript with Node Integration: https://github.com/graalvm/graaljs (UPL - BSD license) Ruby: https://github.com/oracle/truffleruby (EPL, GPLv2, LGPL) R: https://github.com/oracle/fastr (GPLv2) Python: https://github.com/graalvm/graalpython (UPL - BSD license) LLVM/Su…

Can GraalVM target the browser?

We did have a proof of concept JavaScript backend in the past but it’s never been public.

Re: GraalVM: Run Programs Faster Anywhere

#83

Earlier quoted context omitted.

Hi, author of jaque here. I've been working on some other things for a little while, but I'll be getting back to jaque soon. It's quite out of date and needs to be brought up to 1.0 and cleaned up a bit before I start grousing about the stack issues I was running into on the mailing list, but when I last was working on it I was running into issues with Graal when trying to increase the java stack size. Deep but bound…

Truffle tech lead here. Happy to hear you are not giving up :-) Do you mind if I include your language on the experiments list? BTW.: I'd recommend upgrading one Truffle release at a time. So it should always continue to compile. Just fix the deprecation warnings and continue with the next version until you reached the last version. We always keep deprecations for at least one version before we remove/break APIs. If…

> Do you mind if I include your language on the experiments list?

Not at all! Thanks for the advice, and I'll take you up on the invitation to come chat before too long.

Re: GraalVM: Run Programs Faster Anywhere

#84

Graal dev here. If you want to checkout all the sources/licenses of GraalVM CE. They are here: Graal: https://github.com/oracle/graal (GPLv2 with CPE) JavaScript with Node Integration: https://github.com/graalvm/graaljs (UPL - BSD license) Ruby: https://github.com/oracle/truffleruby (EPL, GPLv2, LGPL) R: https://github.com/oracle/fastr (GPLv2) Python: https://github.com/graalvm/graalpython (UPL - BSD license) LLVM/Su…

I am so super happy about the graaljs license choice ! Thank you so much!

Re: GraalVM: Run Programs Faster Anywhere

#85

Can someone please explain this? > Are you working on a Java application? Do you want a faster runtime? Enhance your code with JavaScript! First, the JVM already has the Nashorn JS engine. Second, if I'm "working on a Java app", that means that it's already running in a JVM. Where does the faster runtime come from? Is executing JS from Java using Graal faster than running actual Java code? Is it just faster than Nash…

Also more modern JS than Nashorn.

Re: GraalVM: Run Programs Faster Anywhere

#86
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

I was very interested in Parrot VM for a while too for the same reasons. I always liked the idea of language interoperability and being able to use the best libraries of each language. This brings me to a question I have had for a while, why do we even have so many language specific libraries for common tasks instead of more "universal" libraries with bindings for each. Of course these exist, but I feel like this sho…

Well, we do have some programming tasks that are almost exclusively performed through bindings on different platforms (cryptography, graphics/GUIs, scientific computing to some extent), but the hassle of maintaining bindings is enough that the “need barrier” is high: a given library has to be doing really important stuff that is also really hard to reimplement to end up in the set of tools that are almost always used via interop/bindings. This indicates a deeper problem hidden in your question: for a bunch of reasons (technical, personal, OSS-community-political), maintaining multi-platform bindings is a hassle. Things like Truffle/Graal aim to solve that by providing a common binding “middle” layer in various platforms’ runtimes. Things like libffi offer ways to make ad hoc binding easier. It’s a complicated problem.

Re: GraalVM: Run Programs Faster Anywhere

#87
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" reminds me of Parrot VM (for Perl 6). Looks like development slowed down a year or two ago.

The concept lives on in the form of two "new" Perl 6 projects, namely MoarVM (started in 2012; a multi language VM) and NQP (started around 2008; a virtual VM and multi language compiler toolkit).

https://moarvm.org

https://github.com/perl6/nqp

These can appropriately be compared with Graal and Truffle. Imo their main weakness is they're not backed by Oracle but rather the Perl 6 project.

https://perl6.org

Re: GraalVM: Run Programs Faster Anywhere

#88

> With the SubstrateVM it is possible to produce a single, statically linked native binary executable version of Graal.js, which doesn't need any JVM to run. How large is the resulting executable? There was some mention of shares libraries — is it possible to build a runtime that is callable from C? Relatedly, does the GraalVM java executable support JNI? I’m also curious about the runtime footprint in general; any i…

> How large is the resulting executable?

A minimal executable is about 5 MB.

> There was some mention of shares libraries — is it possible to build a runtime that is callable from C?

Yes you can compile a JAR to a shared library with C function entry points.

> Relatedly, does the GraalVM java executable support JNI?

Yes.

> I’m also curious about the runtime footprint in general; any idea what is the smallest possible VM for a real but relatively-small language like Lua?

Real language VMs are quite a bit bigger - a hundred MB or so.

Re: GraalVM: Run Programs Faster Anywhere

#89

Graal dev here. If you want to checkout all the sources/licenses of GraalVM CE. They are here: Graal: https://github.com/oracle/graal (GPLv2 with CPE) JavaScript with Node Integration: https://github.com/graalvm/graaljs (UPL - BSD license) Ruby: https://github.com/oracle/truffleruby (EPL, GPLv2, LGPL) R: https://github.com/oracle/fastr (GPLv2) Python: https://github.com/graalvm/graalpython (UPL - BSD license) LLVM/Su…

Is there a way to create a native binary using a main within jar and it's dependencies?

Re: GraalVM: Run Programs Faster Anywhere

#90
post #89

Graal dev here. If you want to checkout all the sources/licenses of GraalVM CE. They are here: Graal: https://github.com/oracle/graal (GPLv2 with CPE) JavaScript with Node Integration: https://github.com/graalvm/graaljs (UPL - BSD license) Ruby: https://github.com/oracle/truffleruby (EPL, GPLv2, LGPL) R: https://github.com/oracle/fastr (GPLv2) Python: https://github.com/graalvm/graalpython (UPL - BSD license) LLVM/Su…

Is there a way to create a native binary using a main within jar and it's dependencies?

Yes just run `native-image -jar foo.jar`.
Post reply on HN