Live data from Hacker News

GraalVM

graalvm.org

71–80 of 108 posts

Re: GraalVM

#71
post #11

Earlier quoted context omitted.

> You can compile your Java code into an executable which doesn't require Java to be present. Wasn't this feature already supported in JDK 14 with the jpackage tool? https://openjdk.java.net/jeps/343

If I understand correctly, the difference between jpackage and GraalVM is this: Jpackage bundles a small Java VM (with only the features you use) together with your compiled bytecode into a single executable. When it runs it starts up the VM and executes bytecode on that VM exactly the same as it would be if you were to run a jar on a preexisting JDK/JRE installation. Graal compiles your full app ahead of time into a…

> Jpackage bundles a small Java VM (with only the features you use) together with your compiled bytecode into a single executable. When it runs it starts up the VM and executes bytecode on that VM exactly the same as it would be if you were to run a jar on a preexisting JDK/JRE installation.

This is incorrect. Jpackage creates an installer which will unpack the VM image and any other resources.

I've tried it with a small CLI tool and it actually doesn't work that well (at least on Windows).

Re: GraalVM

#72
post #30
post #11

Earlier quoted context omitted.

> You can compile your Java code into an executable which doesn't require Java to be present. Wasn't this feature already supported in JDK 14 with the jpackage tool? https://openjdk.java.net/jeps/343

It's actually jlink that is already available and creates a minimal JVM with your application code that you can distribute as OS-specific bundles... jpackage, which is still in beta (and doesn't work very well, I've tried it recently), will take the output of jlink and turn that into some common OS-specific packages, like RPM, Debian and dmg.

> and doesn't work very well, I've tried it recently)

This is my experience as well. After installation, my installed app just didn't do anything.

Re: GraalVM

#73
post #60
post #56

Earlier quoted context omitted.

[3] is made possible thanks to a variation of the idea called "Futamura projections": https://en.wikipedia.org/wiki/Partial_evaluation#Futamura_pr...

I read that as Futurama and when I clicked through was expecting to see a picture of Fry or Hypnotoad as some time travel concept as inspiration. Even better, when I clicked through I read it the first time and thought “wow cool someone’s last name is Futurama” then I read it again haha.

because you wrote Futurama and referred to it so many times in this reply, when I skimmed the thread I read the word in this post and the one above it as Futurama. it took me like 3 re-reads to realize the original did NOT say Futurama.

Re: GraalVM

#74

Earlier quoted context omitted.

> Startup time? Granted. Anything else? Not so much. Startup time matters a lot especially for Java applications. The reason Java never got to the desktop (including browser) I believe was the startup time. Startup time matters a lot also for micro-services. A 2nd great benefit of GraalVM I think is it makes it easy to integrate programs written in different languages, say Node.js and Java for instance.

> Java never got to the desktop (including browser) What do you mean by this? There are a lot of desktop Java applications...

I'd like to hear about them, because apart from enterprise applications, there aren't that many left. Electron is the new desktop Java.

Re: GraalVM

#75
post #57
post #54

I have hard time being deeply invested in GraalVM considering that the most interesting stuff tends to be kept proprietary (e.g. profile-guided optimizations).

Also, if you're like me, you simply don't want to deal with the law firm called Oracle.

That's the worrying thing to me. Oracle's business model seems to be to keep prices reasonable just as long as it takes to build up a customer base, and then start squeezing.

I'm fascinated by GraalVM, but I'm hesitant to take even one step down a path that leads to Oracle using my actual software implementation platform to shake me down for money. I'd actually rather take the development effort and performance hit on using gRPC or similar to get my Java and Ruby modules talking to each other than to get locked into a potentially weaponized version of the Java platform.

Re: GraalVM

#76
post #54

I have hard time being deeply invested in GraalVM considering that the most interesting stuff tends to be kept proprietary (e.g. profile-guided optimizations).

[deleted]

Re: GraalVM

#78

Earlier quoted context omitted.

> This lets it greatly outperform the JVM, at the expense of some rarely used functionality. Outperform in what metric? Startup time? Granted. Anything else? Not so much. >Basically, it’s like switching from the JIT to a C compiler’s -O3. Yeah and that would be pretty bad (it's not a good analogy to begin with). "-O3" doesn't have anything that a JIT couldn't have. The only advantage is again, startup time. JIT compi…

As far as I know, Truffle is able to do some absolutely incredible compile-time optimizations —- reaching deeply into what we would normally regard as strictly semantic territory. (For an example, see some of the optimizations done by TruffleRuby for things like `myArray.sort.first` - which it apparently optimizes by terminating the sort as soon as the first element is sorted to the front of the array... and all that…

Can the storage of generic containers change as well? For example, store the objects in the container instead of reference?

Re: GraalVM

#79
post #63
post #57

Earlier quoted context omitted.

Also, if you're like me, you simply don't want to deal with the law firm called Oracle.

What about the law firm Apple?

Does Apple sue its customers?

Re: GraalVM

#80
post #79
post #63

Earlier quoted context omitted.

What about the law firm Apple?

Does Apple sue its customers?

Depends on how far people doing Hackintosh could be considered customers, and there are plenty of examples with Apple lawyers visiting the courtroom, but don't let that get into the way of hating Oracle.
Post reply on HN