HN user

fniephaus

2,062 karma

Researcher on the GraalVM team at Oracle Labs. Developer tools, programming languages, virtual machines. Previously at HPI, Google, and Maton Guitars.

[ https://fniephaus.com ]

[ https://twitter.com/fniephaus ]

[ my public key: https://keybase.io/fniephaus; my proof: https://keybase.io/fniephaus/sigs/2dy-DvixjWd3ZV-Bd7WhIw57HYYen9GSztnMeoXTmXY ]

Posts128
Comments77
View on HN
medium.com 22d ago

GraalVM 25.1 - First Innovation Release

fniephaus
2pts0
medium.com 2mo ago

Accelerating the GraalVM Release Train

fniephaus
15pts2
blogs.oracle.com 2mo ago

Graal Commercial Support Entitlements for Oracle Database Products

fniephaus
5pts0
www.youtube.com 1y ago

The Future of Write Once, Run Anywhere: From Java to WebAssembly [video]

fniephaus
3pts0
medium.com 1y ago

What's new in Graal Languages 24.2

fniephaus
19pts3
www.graalvm.org 1y ago

GraalWasm – A high-performance embeddable WebAssembly runtime for Java

fniephaus
4pts5
www.graalvm.org 1y ago

GraalPy – A high-performance embeddable Python 3 runtime for Java

fniephaus
325pts141
medium.com 1y ago

What's new in Graal Languages 24.1

fniephaus
2pts0
github.blog 2y ago

GitHub-hosted runners: Double the power for open source

fniephaus
3pts0
lore.kernel.org 2y ago

Analyze and Reorganize core Networking Structs to optimize cacheline consumption

fniephaus
3pts0
medium.com 2y ago

GraalVM for JDK 21

fniephaus
215pts76
blogs.oracle.com 3y ago

The GraalVM Free License

fniephaus
3pts0
medium.com 3y ago

What’s New in GraalVM Languages

fniephaus
2pts0
medium.com 3y ago

A New GraalVM Release and New Free License

fniephaus
56pts9
github.com 3y ago

Twitter Open-Sources Tweetypie

fniephaus
7pts2
tratt.net 3y ago

Compiled and Interpreted Languages: Two Ways of Saying Tomato

fniephaus
2pts1
medium.com 3y ago

GraalVM in 2022: A Year in Review

fniephaus
4pts0
github.com 3y ago

CPython: Generate the Interpreter

fniephaus
2pts0
medium.com 3y ago

GraalVM 22.3: JDK 19 builds, jlink support, new monitoring features, and more

fniephaus
37pts26
www.graalvm.org 3y ago

Oracle Contributing GraalVM Community Edition Java Code to OpenJDK

fniephaus
3pts0
www.youtube.com 3y ago

JavaOne keynote: Java First. Java Always. [video]

fniephaus
5pts0
twitter.com 3y ago

Oracle to Contribute GraalVM CE Java Code to OpenJDK

fniephaus
20pts1
stefan-marr.de 3y ago

Effortless Language Servers

fniephaus
4pts0
github.com 3y ago

Native Minecraft servers with GraalVM Native Image

fniephaus
190pts89
medium.com 3y ago

Native Minecraft Servers with GraalVM Native Image

fniephaus
8pts0
github.com 3y ago

FauxPilot – an attempt to build a locally hosted version of GitHub Copilot

fniephaus
422pts79
medium.com 3y ago

Porting Matplotlib from C API to HPy

fniephaus
1pts0
github.blog 3y ago

GitHub Pages: Custom GitHub Actions Workflows (Beta)

fniephaus
2pts0
medium.com 3y ago

Enhancing 3rd-Party Library Support in GraalVM Native Image with Shared Metadata

fniephaus
2pts0
medium.com 3y ago

GraalVM 22.2: Smaller JDK size, improved memory usage, better library support

fniephaus
8pts0

Hi @edburns,

As Thomas mentioned, we continue our mission to run programs faster and more efficiently. So yes, the GraalVM Docker images are still maintained and now include images with the new GraalVM 25 release.

-- Fabio

Thanks for the question, nurettin.

Although GraalPy can create standalone applications [1], you don't have to turn your hello world script into a self-contained binary. You can, of course, create a JAR that depends on GraalPy, or a fat JAR that contains it, and deploy it just like any other Java application.

We are still updating our docs to mention more details on this and publish some guides, apologies for the delay.

[1] https://www.graalvm.org/latest/reference-manual/python/stand...

Correct:

... the JVM can intercept the resulting SIGSEGV ("Signal: Segmentation Fault"), look at the return address for that signal, and figure out where that access was made in the generated code. Once it figures that bit out, it can then know where to dispatch the control to handle this case — in most cases, throwing NullPointerException or branching somewhere.

https://shipilev.net/jvm/anatomy-quarks/25-implicit-null-che...

JIT compilation requires additional CPU and memory resources at run-time, which AOT compilation can avoid. This also means that for a native executable, the compilation work only needs to be done once at build-time and not per process.

Disclaimer: I work on the GraalVM team.

The students "measured noticeable reductions in terms of memory footprint of up to 43%" [1] in some preliminary experiments. More from the accompanying blog post:

"We also hope that the Minecraft community builds on our work and helps benchmark different configurations for native Minecraft servers in more detail and in larger settings."

Please feel free to share any numbers on CPU/memory usage with us!

[1] https://medium.com/graalvm/native-minecraft-servers-with-gra...

I don't think the student looked into that at all, but I guess it depends on what the Java client uses for drawing. GraalVM Native Image currently doesn't support AWT on Linux/JDK17+, but we are working on fixing that soon.

I played around with "Find My" last night... similar to Location Sharing, it seems to allow me to look at the location of all devices connected with my account as long as they are online. But that's not necessarily what I want. Before I can access someone else's location, I want to inform them that I'd like to know where they are and give them a couple of minutes to respond. That's the key missing feature here...or am I the one missing something?

First paragraph of the corresponding email announcement:

Over three years ago, we launched the Trusted Contacts app as a way to help people stay up to date with their loved ones’ whereabouts. Since then, we’ve built this functionality directly into Google Maps with Location Sharing - making it even easier to share your live location with trusted friends and family.

Correct me if I'm wrong, but location sharing doesn't seem to provide the same functionality. It's an always on feature for sharing your location with others, not a "request someone's location" feature and if that person doesn't respond in 15min, enable location sharing for some time.

The obvious question is: what's a good/trustworthy alternative?

Is there an overview somewhere which allows comparison with fig. 4 of your ACM 2019 publication?

We have set up a benchmarking infrastructure for performance tracking, but it is unfortunately not public (yet). Also, we have switched from GraalVM EE/JDK8 to GraalVM CE/JDK11 a couple of months ago, which makes it hard to compare recent with older results. But what I can say it that performance on GraalVM CE/JDK11 is currently better than on GraalVM EE/JDK8 a year ago. I expect it to be faster on EE as well, but I'd need to measure by how much.

Anyway in that publication SOMns using the same technology - as far as I understand - showed a completely different performance pattern; does this still apply, and what is/was the reason for this?

Correct. First, SOMns does not support a real Smalltalk system and does not support some crucial mechanisms (e.g. changing the class of an object). So TruffleSqueak must check the class of an object in quite some cases, which is a slight, unavoidable overhead. More importantly, SOMns has some primitives that Squeak does not, for example for comparing strings. That's for example another reason why SOMns is so much faster in the JSON benchmark. For your curiosity, here's a screenshot of the benchmark results for a current TruffleSqueak and SOMns (note that they ran on different versions of GraalVM, I think you can somewhat compare the TruffleSqueak numbers to "GraalSqueak-CE" in fig. 4 of the paper):

https://user-images.githubusercontent.com/2368856/90402527-d...