Live data from Hacker News

GraalVM: Run Programs Faster Anywhere

graalvm.org

91–100 of 218 posts

Re: GraalVM: Run Programs Faster Anywhere

#91

On the "why graal" page, it says that one benefit is you can use a larger heap size for nodejs applications. I would imagine one other big benefit is that you can have true multithreading since the app now runs on the jvm. Is this indeed possible? Is there any guidance on how to do it? Rhino had the concepts of Scope's and Context's to somewhat safely parallelize code, so curious if there are similar primitives in Gr…

>I would imagine one other big benefit is that you can have true multithreading

Thank The Maker.

Re: GraalVM: Run Programs Faster Anywhere

#92
post #20

Earlier quoted context omitted.

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…

There are fundamental semantic differences between the languages. An immutable language will always have a serious impedance mismatch with a mutable library. A library that uses GC won't work in a language without them, a specific example of the general principle that memory management strategies vary widely. A library that uses dynamic types will have a huge conversion boundary with a statically-typed language, and…

>you'll still encounter a significant subset of those issues

Heck you will encounter those issues in a large project using only one language!

Re: GraalVM: Run Programs Faster Anywhere

#93
post #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.

Linux and Java have the same license as this.

Re: GraalVM: Run Programs Faster Anywhere

#94
It sounds amazing. But Oracle's legal reputation means I can never safely choose their tech stack, especially not something open source and free.

One of a million examples, this happens on the front page of HN at the same time:

https://www.reddit.com/r/javascript/comments/8d0bg2/oracle_o...

Re: GraalVM: Run Programs Faster Anywhere

#95

This is an epic announcement and it further extends the JVM as the best VM to develop new languages for and port existing ones to. I'm curious though, is there a Truffle version of the Java language that the Graal JIT uses?

Not yet. It's on our roadmap.

Re: GraalVM: Run Programs Faster Anywhere

#97
post #94

It sounds amazing. But Oracle's legal reputation means I can never safely choose their tech stack, especially not something open source and free. One of a million examples, this happens on the front page of HN at the same time: https://www.reddit.com/r/javascript/comments/8d0bg2/oracle_o...

You have to rigorously defend trademarks otherwise you lose them. Oracles a shit tier company but I don't hold that against them.

Re: GraalVM: Run Programs Faster Anywhere

#98

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…

How would I go about creating a native image for a gem I've installed? I can't seem to find the documentation for this.

Or have I misunderstood this totally? I thought I could do something like ruby script -> graal ruby --> jvm bytecode --> native image

Update:: Doesn't look like I read it wrong - from this reddit comment[1] from 3months ago

Ahh, I think there's some confusion here. What we do with the SVM is ahead of time compile the TruffleRuby interpreter, not an application. This is akin to what you'd do with MRI. Instead of treating Java as a language you compile to a .class file and load with the JVM, the SVM's native image generator compiles it to a native binary.

There's likely no reason we couldn't compile Ruby applications into a static binary.

I would also love to be able to distribute a ruby binary as a single statically compiled executable. Any pointers/directions?

[1] https://www.reddit.com/r/ruby/comments/7o3wy9/graals_substra...

Post reply on HN