
GraalVM 25.5: new optimizations and Python web framework
This release brings new compiler optimizations, developer experience and observability improvements for Native Image, and updates across the GraalVM language ecosystem. Let’s take a closer look!
以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。
Python
Programming
Performance
GraalVM 25.5 is here! 🎉
Alina Yurenko
4 min read·
Just now
--
This release brings new compiler optimizations, developer experience and observability improvements for Native Image, and updates across the GraalVM language ecosystem. Let’s take a closer look!
GraalPy is enabling new ways to build Python applications. Pyronaut, a new framework from the Micronaut project, is one of them. It combines GraalPy with Micronaut’s application model to bring integrated data access, validation, and observability to Python services. Python type hints and decorators define the application, while build-time processing checks its wiring, configuration, and database queries before startup. This catches many issues before the first request and reduces the amount of infrastructure teams need to assemble.
Pyronaut performance highlights
The GraalVM stack powers both execution and integration. GraalPy runs the Python code, the Graal JIT optimizes frequently executed code, and Micronaut provides a non-blocking Netty-based HTTP runtime and access to its broader ecosystem. Python applications can use Micronaut features and JVM libraries directly, while retaining familiar Python syntax, async/await, and tools such as pytest.
Pyronaut applications can run as JVM applications for peak performance, use a reusable Crema native base for faster startup and lower memory use without rebuilding a native executable after every change, or be compiled as native executables. See the Pyronaut website for examples and steps to get started.
GraalVM 25.5 adds several new compiler optimizations, many of them focused on loops. Aggressive partial unrolling and simulation-based loop peeling give the compiler more opportunities to optimize repeated work. New loop transformations can also break up long-running loops to reduce safepoint overhead and reshape loops for further optimization. Improvements to range checks, memory reads and writes, and exact arithmetic can further reduce the work performed inside eligible loops while preserving application behavior.
Beyond loops, the compiler can now eliminate more locking, including nested locking of the same object and locks across simple control flow. It can also share equivalent code from converging branches, which may reduce the size of generated code. These optimizations are enabled by default; see the release notes for the full list and corresponding options.
GraalVM 25.5 performance using the Micronaut Similarity benchmark from the Barista suite.
We expect these optimizations to particularly benefit applications that spend significant time in loops, such as those processing arrays, performing calculations, transforming data, or doing LLM inference on the CPU. Workloads with frequent synchronization or many similar control-flow branches may also see lower overhead or smaller generated code.
JDK diagnostic tools such as jstack, jinfo, jps, and jstat can now run on Crema to inspect other JVM processes. On Linux and macOS, native executables built with --enable-monitoring=jvmstat can also read file-backed JVMStat performance data exposed by other HotSpot and Native Image processes.
There are a few other useful practical changes:
Oracle AI Database 23.26.4 adds support for WebAssembly modules in Multilingual Engine (MLE), the GraalVM-powered runtime for executing JavaScript inside the database. Developers can now store suitable Wasm binaries as MLE modules, load their JavaScript bindings, and call them as part of database logic.
This can be useful when an application needs to reuse an existing Wasm library directly where its data lives — for example, for data transformation, validation, or specialized processing — without moving the work to a separate service.
GraalVM Community Summit participants
Every autumn brings one of our favorite annual events — GraalVM Community Summit. This year, we welcomed almost 70 committers, partners, and vendors representing companies such as Amazon, Apple, BellSoft, Broadcom, Elide, Google, HEBI Robotics, IBM, JetBrains, Netflix, Red Hat, Saxonica, and others. We spent two days discussing new features and future plans, and now are more energized than ever to make GraalVM even more useful for developers around the world 🙂
We’d like to take this opportunity to thank our amazing contributors and community for all the feedback, suggestions, and contributions that went into this release.
If you have feedback for this release or suggestions for features that you would like to see in future releases, please share them with us on Slack, GitHub, or LinkedIn.
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。