Live data from Hacker News

GraalVM: Run Programs Faster Anywhere

graalvm.org

41–50 of 218 posts

Re: GraalVM: Run Programs Faster Anywhere

#41
post #39

Earlier quoted context omitted.

Which one was it? Can you remember? One of these? https://github.com/oracle/graal/blob/master/truffle/docs/Lan... If not. Please let me know.

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!

Re: GraalVM: Run Programs Faster Anywhere

#42

How is this better than compiling everything to WebAssembly and using V8 as your interpreter?

Because WebAssembly is extremely limited? Unless you need to ship on the web, using WebAssembly is almost certainly a bad decision as it makes highly compromising tradeoffs that you don't need.

Re: GraalVM: Run Programs Faster Anywhere

#43

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…

The Graal compiler is compiling Java code to faster machine code on top of the JVM. Also GraalVM's JavaScript implementation uses an entirely different approach by using Truffle for its implementation making it significantly faster. Also GraalVM ships with Node.js support, tooling and other languages. Here is a full list of reasons: http://www.graalvm.org/docs/why-graal/ Here are some (maybe a bit outdated, but indep…

From the provided link:

- graal has superior compiler technology based off of a research paper [1] that:

-- has superior ability to remove costly object allocations in many scenarios

-- has better inlining and more aggressive speculative optimizations

-- has smarter jit compilation

[1] http://www.ssw.uni-linz.ac.at/Research/Papers/Stadler14/Stad... (pdf)

Re: GraalVM: Run Programs Faster Anywhere

#44

How is this better than compiling everything to WebAssembly and using V8 as your interpreter?

We'll one reason would be that it looks like it actually works with a lot of languages right now. Do we have any idea when ruby will work in V8?

BTW. In my experience so far, when it comes to software - a bird in the hand is worth ten in the bush

Re: GraalVM: Run Programs Faster Anywhere

#45

How is this better than compiling everything to WebAssembly and using V8 as your interpreter?

Many optimizations need to be performed at a higher level, using language details. By compiling something to WebAssembly you lose all the ability to do that.

For dynamic languages like JS you can’t actually make these optimizations AOT, which is why we JIT JS in the first place.

Re: GraalVM: Run Programs Faster Anywhere

#48

To what extent is this compatible with all existing libraries for allegedly supported languages? I'm also curious if .net standard/c# support is being planned.

I tested it out with some fairly dependency-heavy node JS projects and it worked great (albeit with a human-noticeable perf difference vs node). R projects suffer the usual R-on-JVM issues, see eg https://github.com/oracle/fastr#status-and-limitations . I could, however, use ggplot2 and dplyr, which I don't recall working the last time I tried R-on-JVM. So that's awesome.

Being able to reasonably use R stuff from clojure (and other languages better for general purpose programming) is my data science dream. Though I can't say I'm sad with my current unix-y solutions.

Re: GraalVM: Run Programs Faster Anywhere

#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?
Post reply on HN