2,175 karma · joined May 19, 2014
[ https://fniephaus.com ]
[ https://twitter.com/fniephaus ]
[ my public key: https://keybase.io/fniephaus; my proof: https://keybase.io/fniephaus/sigs/2dy-DvixjWd3ZV-Bd7WhIw57HYYen9GSztnMeoXTmXY ]
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
I hope it isn't used in production yet because we still consider the use of native extensions experimental in GraalPy. However, we definitely see a need for this and will push it forward. If anyone wants to give this a try, please feel free to reach out to us.
In the meantime, you may want to take a look at this: https://blogs.oracle.com/ateam/post/want-to-use-llm-python-f...
You may want to take a look at this: https://blogs.oracle.com/ateam/post/want-to-use-llm-python-f...
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...
We also want to make it easy for Python package maintainers to test and build wheels for GraalPy. It's already available via setup-python, and we are adding GraalPy support to cibuildwheel. If you need any help, please reach out to us!
More details about this particular release are in the blog post at https://medium.com/graalvm/whats-new-in-graal-languages-24-1...
Happy to answer any additional questions!
> ... 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...
[1] https://www.oracle.com/downloads/licenses/graal-free-license... [2] https://www.oracle.com/downloads/licenses/no-fee-license.htm...
> Updated the OpenJDK release on which GraalVM Community Edition is built ...
and
> Updated the Oracle JDK release on which GraalVM Enterprise Edition is built ...
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 believe the easiest way to start a new Truffle language implementation is to fork SimpleLanguage [1] and turn it into your language. Did you try to do that?
[1] https://github.com/hpi-swa/trufflesqueak/ [2] https://github.com/hpi-swa/polyglot-live-programming
> ... it already passes >99.99% of the Java Compatibility Kit ...
> Running HelloWorld on three nested layers of Espresso takes ~15 minutes.
Link: https://github.com/oracle/graal/tree/6dd83cd94763b8736b42063...
> 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?
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...
[1] https://web.archive.org/web/20200319123703/https://2020.ecoo...