OpenJDK Proposes Project Galahad to Merge GraalVM Native Compilation

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • JDK

    JDK main-line development https://openjdk.org/projects/jdk

  • I think the entirety of Hotspot is written in C++ [0]? The standard library in the JDK is mostly written in Java, but the VM itself with the GC and JIT code is in C++, which makes sense as the GC would have to collect itself.

    If you do not count the standard library as part of the JVM (but part of the JDK), then the JVM is written mostly in C++.

    [0]: https://github.com/openjdk/jdk/tree/master/src/hotspot

  • KeenWrite

    Discontinued Free, open-source, cross-platform desktop Markdown text editor with live preview, string interpolation, and math.

  • It'll help build cross-platform desktop applications. In theory, it'll mean hooking the build process up to a GitHub action to build platform-specific binaries, such as my FOSS KeenWrite Markdown editor[0], without having to have a copy of every operating system.

    To my knowledge, cross-compiling "native" Linux and Windows binaries using Java requires duct tape, chewing gum, and warp-packer.[1]

    GraalVM isn't a panacea, though.[2] For example, GraalVM cannot compile Renjin, a pure Java R interpreter, so you have to switch from Renjin to FastR. Switching isn't trivial.

    [0]: https://github.com/DaveJarvis/keenwrite

    [1]: https://dave.autonoma.ca/blog/2020/06/29/write-once-build-an...

    [2]: https://github.com/bedatadriven/renjin/issues/564

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • renjin

    JVM-based interpreter for the R language for the statistical analysis.

  • It'll help build cross-platform desktop applications. In theory, it'll mean hooking the build process up to a GitHub action to build platform-specific binaries, such as my FOSS KeenWrite Markdown editor[0], without having to have a copy of every operating system.

    To my knowledge, cross-compiling "native" Linux and Windows binaries using Java requires duct tape, chewing gum, and warp-packer.[1]

    GraalVM isn't a panacea, though.[2] For example, GraalVM cannot compile Renjin, a pure Java R interpreter, so you have to switch from Renjin to FastR. Switching isn't trivial.

    [0]: https://github.com/DaveJarvis/keenwrite

    [1]: https://dave.autonoma.ca/blog/2020/06/29/write-once-build-an...

    [2]: https://github.com/bedatadriven/renjin/issues/564

  • OpenJ9

    Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.

  • I keep forgetting about J9 but they're not doing themselves any branding favors since there actually is J17 on J9 :-/ https://github.com/eclipse-openj9/openj9/blob/openj9-0.35.0/... (Also that 0.35 versioning ...)

    As best I can tell, these are the docker images: https://hub.docker.com/_/ibm-semeru-runtimes

        $ docker run --rm ibm-semeru-runtimes:open-11-jdk java -version

  • Graal

    GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀

  • I'm actually wanting to do this with Graal at the moment ("using GitHub Actions to produce platform-specific binaries")

    As far as I can tell Graal does not have cross-compilation ability currently (there is an open issue here: https://github.com/oracle/graal/issues/407)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts