Skip to main content

Posts

Showing posts with the label graalvm

GraalVM's alignment With OpenJDK Signifies A New Era For Java-"in the battle for the Cloud"

 Oracle will be contributing GraalVM Community Edition Java Code to OpenJDK. There's a lot behind this simple statement. But before that, let's first look at what GraalVM actually does. The recent flurry of interest in GraalVM started with a tweet that sparked excitement inside the Java community. Oracle is contributing GraalVM Community Edition Java code to OpenJDK to more closely align the development of the GraalVM technologies with that of Java Two technologies at play here; the well established OpenJDK and the newcomer, GraalVM. At a very high level, GraalVM is a runtime split into two aspects; compile bytecode into native self-contained executables aka native images and run programs on the JVM in languages other than Java. Per the first aspect, Native image full article on i-programmer: https://www.i-programmer.info/news/80-java/15862-graalvms-alignment-with-openjdk-signifies-a-new-era-for-java.html

TornadoVM Makes It Possible To Run Java on GPUs and FPGAs

 A ray tracer in Java? That's just absurd! Is Java stepping into C++ privileged territory? Yes it is, thanks to TornadoVM. TornadoVM is a plugin to OpenJDΚ which allows you to run Java on GPU's, FPGAs and dedicated hardware in order to achieve massive gains in performance. For example, the Java Ray Tracer project based on TornadoVM achieves acceleration from 1 FPS in Java to 60 FPS running on Intel HD Graphics and NVIDIA GPUs. Performance aside, TornadoVM makes programming on such hardware possible with Java and other JVM-based languages, as such breaching the status quo of C++, OpenCL or Cuda. Last time we examined a similar approach was with Python in "Program Deep Learning on the GPU with Triton": full article on i-programmer: https://www.i-programmer.info/news/80-java/15376-tornado-vm-makes-it-possible-to-run-java-on-gpus-and-fpgas.html

Where's Java Going In 2022?

 It's been a while since our deep look into Java's ecosystem in "Where's Java Going In 2020". The recent JRebel "Java Development Trends and Analysis 2022" report gave us the opportunity to revisit. So, "Where's Java Going In 2022", according to JRebel? Read more on i-programmer: https://www.i-programmer.info/news/80-java/15317-wheres-java-going-in-2022.html

Making GraalVM Based Executables Easy with Liberica Native Image Kit

  Liberica Native Image Kit is a utility for making native images for the JVM, letting you compile applications to executables using the GraalVM native-image compiler. As a refresher on what a native image is Native image is the executable binary file that contains your application, all its dependencies, and runtime components, allowing you to run your JVM based program on any supported configuration without the need for installing runtime or any setup. Native image is the easiest way to distribute your program and start it up faster. Native images have several advantages over JVM interpreted applications:  Almost instant startup time Optimized resource consumption and smaller static footprint Does not require JVM for execution  But why go for GraalVM over packaging your app with say Launch4J or javapackager?  full article on i-programmer: https://www.i-programmer.info/news/80-java/15284-making-graalvm-based-executables-easy.html

Azul's Cloud Native Compiler - Why Share The JIT Compiler?

  Azul's Cloud Native Compiler is targeted at organizations with multiple dev teams who share a common environment. Instead of compiling on their local machines, the process is offloaded to a cloud that shares a JIT compiler. Why is that beneficial? As we all know, when compiling code on the JVM there's a JIT compiler that turns the bytecode into machine code. Typically this happens locally at each dev's PC. What Azul offers is to offload this JIT compilation to a cloud-native Kubernetes-based compiler; this has distinct advantages over lone local compilation. Firstly the local resources are not stressed as much because they now engage less CPU and RAM resources. Another advantage is that as a lot of libraries and code is common amongst local dev machines, sharing their compilation in a common repository allows for caching, better dynamic resource optimization, faster compilation and less memory requirements. full article on i-programmer: https://www.i-programmer.info/news/...

GraalVM Under The Covers

 At a very high level, GraalVM is a runtime that can compile bytecode into native self-contained executables as well as run programs in languages other than Java. This detailed look at it attempts to put a highly technical and difficult subject into perspective. The starting point for this article was "Exploring Aspects of Polyglot High-Performance Virtual Machine GraalVM", a paper by M. Å ipek, B. Mihaljević and A. Radovan of Rochester Institute of Technology Croatia, Zagreb, Croatia. The presents GraalVM's architecture, its features and examines how it resolves common interoperability and performance problems when having to support multiple programming languages. I've extended it in order to provide a high level overview in simple terms. Virtual Machines were invented in order to run programs in an independent way regardless of the platform and the underlying hardware. Examples are the . NET CLR, MoarVM the modern virtual machine built for the Rakudo compiler impleme...

GraalVM 21.3 Released

 GraalVM, the runtime that compiles Java bytecode into native self-contained executables and capable of running programs in different languages other than Java, has reached version 21.3. Foremostly it comes with support for Java 17, as such it makes available all new features of the language. Further, from now on GraalVM Community distributions will be based on OpenJDK 11 and 17 only, hence OpenJDK version has been deprecated. This affects GraalVM Enterprise too that is based on the corresponding Oracle JDKs.   full article on i-programmer: https://www.i-programmer.info/news/80-java/15026-graalvm-213-released-.html

GraalVM 21.1 Released - What's New?

  GraalVM, the runtime that compiles Java bytecode into native self-contained executables has reached version 21.1. We had a look at GraalVM's integration with Spring Boot last March in " Compile Spring Applications To Native Images With Spring Native " as a testament to its use cases.In that case Spring Native let you compile Spring applications to native images using the GraalVM native-image compiler. What's the advantage in that? Instant startup, instant peak performance, and reduced memory consumption, since the native Spring applications are deployed as a standalone executable without including a JVM installation.These are the advantages that the use of GraalVM brings.   full article on i-programmer.info

Compile Spring Applications To Native Images With Spring Native

  Spring Native Beta is now available bringing a new way to deploy Spring applications. Spring Native lets you compile Spring applications to native images using the GraalVM native-image compiler. What's the advantage in that? Instant startup, instant peak performance, and reduced memory consumption, since the native Spring applications are deployed as a standalone executable, well docker image, without including a JVM installation. full article on i-programmer