StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Infrastructure as a Service
  4. Virtual Machine
  5. GraalVM vs Quarkus

GraalVM vs Quarkus

OverviewComparisonAlternatives

Overview

GraalVM
GraalVM
Stacks70
Followers76
Votes0
GitHub Stars21.3K
Forks1.8K
Quarkus
Quarkus
Stacks312
Followers382
Votes80
GitHub Stars15.2K
Forks3.0K

GraalVM vs Quarkus: What are the differences?

Introduction

GraalVM and Quarkus are two popular technologies in the Java ecosystem. While both are widely used, they have distinct differences that set them apart. In this article, we will explore the key differences between GraalVM and Quarkus.

  1. Code Execution: The primary difference between GraalVM and Quarkus lies in their main focus areas. GraalVM is primarily focused on providing a high-performance runtime for running polyglot applications, supporting various languages like Java, JavaScript, Python, and more. On the other hand, Quarkus is more focused on enabling resource-efficient, container-native, and cloud-native Java application development.

  2. Ahead-of-Time (AOT) vs. Just-in-Time (JIT) Compilation: Another significant difference between GraalVM and Quarkus is their approach to compilation. GraalVM utilizes ahead-of-time (AOT) compilation, where the code is compiled before running, resulting in faster startup times and reduced memory footprint. In contrast, Quarkus relies on just-in-time (JIT) compilation, where the code is compiled during runtime, allowing for dynamic optimizations and potentially better overall performance.

  3. Framework vs. Runtime: GraalVM is often referred to as a runtime, as it provides a virtual machine, compiler, and other tools for running various languages. It offers a polyglot runtime environment that allows developers to execute code in multiple languages on the JVM. On the other hand, Quarkus is primarily a framework that is built on top of existing Java frameworks like Eclipse MicroProfile and Spring to provide a streamlined and efficient development experience for building Java applications.

  4. Native Image Support: One distinguishing feature of GraalVM is its native image support. It enables developers to compile Java applications into standalone, native executables that can be run without a JVM. This feature is particularly beneficial for building lightweight, fast-starting, and memory-efficient serverless or containerized applications. Quarkus, although it can utilize GraalVM's native image capabilities, focuses more on providing an efficient development experience using the traditional JVM-based approach.

  5. Developer Experience: Quarkus is designed to optimize the developer experience by offering features like automatic hot-reloading, streamlined configuration, simplified dependency management, and faster development cycles. It aims to make Java development more efficient and productive. While GraalVM also provides developer tools like the Truffle framework and GraalVM native image, its primary focus is on language interoperability and runtime performance, rather than optimizing the development experience.

  6. Target Use Cases: Due to their different focuses, GraalVM and Quarkus are aimed at different use cases. GraalVM is well-suited for scenarios that involve executing code in multiple languages, embedding languages in existing JVM-based applications, or running applications with strict memory or startup time constraints. On the other hand, Quarkus is particularly beneficial for building resource-efficient microservices, serverless functions, or cloud-native applications that leverage the capabilities of modern cloud platforms.

In summary, GraalVM and Quarkus differ in their main focus areas, compilation approaches, code execution capabilities, native image support, developer experience, and target use cases. While GraalVM emphasizes language interoperability and polyglot runtime performance, Quarkus focuses on enabling efficient cloud-native Java application development.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Detailed Comparison

GraalVM
GraalVM
Quarkus
Quarkus

An ecosystem and shared runtime offering performance advantages not only to JVM-based languages such as Java, Scala, Groovy, and Kotlin, but also to programming languages as JavaScript, Ruby, Python, and R. Additionally, it enables the execution of native code on the JVM via LLVM front-end.

It tailors your application for GraalVM and HotSpot. Amazingly fast boot time, incredibly low RSS memory (not just heap size!) offering near instant scale up and high density memory utilization in container orchestration platforms like Kubernetes. We use a technique we call compile time boot.

Polyglot - Zero overhead interoperability between programming languages allows you to write polyglot applications and select the best language for your task; Native - Native images compiled with GraalVM ahead-of-time improve the startup time and reduce the memory footprint of JVM-based applications; Embeddable - GraalVM can be embedded in both managed and native applications. There are existing integrations into OpenJDK, Node.js, Oracle Database, and MySQL
CONTAINER FIRST; UNIFIES IMPERATIVE AND REACTIVE; BEST OF BREED LIBRARIES AND STANDARDS
Statistics
GitHub Stars
21.3K
GitHub Stars
15.2K
GitHub Forks
1.8K
GitHub Forks
3.0K
Stacks
70
Stacks
312
Followers
76
Followers
382
Votes
0
Votes
80
Pros & Cons
No community feedback yet
Pros
  • 13
    Open source
  • 13
    Fast startup
  • 12
    Low memory footprint
  • 11
    Produce native code
  • 10
    Hot Reload
Cons
  • 2
    Boilerplate code when using Reflection
Integrations
Node.js
Node.js
Oracle
Oracle
MySQL
MySQL
Kubernetes
Kubernetes
Apache Camel
Apache Camel
Hibernate
Hibernate
Netty
Netty

What are some alternatives to GraalVM, Quarkus?

HHVM (HipHop Virtual Machine)

HHVM (HipHop Virtual Machine)

HHVM uses a just-in-time (JIT) compilation approach to achieve superior performance while maintaining the flexibility that PHP developers are accustomed to. To date, HHVM (and its predecessor HPHPc before it) has realized over a 9x increase in web request throughput and over a 5x reduction in memory consumption for Facebook compared with the PHP 5.2 engine + APC.

Laravel Homestead

Laravel Homestead

Laravel Homestead is an official, pre-packaged Vagrant "box" that provides you a wonderful development environment without requiring you to install PHP, HHVM, a web server, and any other server software on your local machine. Homestead runs on any Windows, Mac, or Linux system, and includes the Nginx web server, PHP 5.6, MySQL, Postgres, Redis, Memcached, and all of the other goodies you need to develop amazing Laravel applications.

MyBatis

MyBatis

It is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings. It eliminates almost all of the JDBC code and manual setting of parameters and retrieval of results. It can use simple XML or Annotations for configuration and map primitives, Map interfaces and Java POJOs (Plain Old Java Objects) to database records.

Azure Virtual Machines

Azure Virtual Machines

You can create Linux and Windows virtual machines. It gives you the flexibility of virtualization for a wide range of computing solutions—development and testing, running applications, and extending your datacenter. It’s the freedom of open-source software configured the way you need it.

guava

guava

The Guava project contains several of Google's core libraries that we rely on in our Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.

Thymeleaf

Thymeleaf

It is a modern server-side Java template engine for both web and standalone environments. It is aimed at creating elegant web code while adding powerful features and retaining prototyping abilities.

JSF

JSF

It is used for building component-based user interfaces for web applications and was formalized as a standard through the Java Community

JavaMelody

JavaMelody

It is used to monitor Java or Java EE application servers in QA and production environments. It is not a tool to simulate requests from users, it is a tool to measure and calculate statistics on real operation of an application depending on the usage of the application by users. It is mainly based on statistics of requests and on evolution charts.

Hosting Provider THE.Hosting

Hosting Provider THE.Hosting

⚡️ THE.Hosting is the best hosting provider. ❇️ Ultra-fast server response time. Web hosting! ✅ Low cost VPS and dedicated servers. ☝ Tariffs on the website. ✅ support@THE.Hosting

RxJava

RxJava

A library for composing asynchronous and event-based programs by using observable sequences for the Java VM.

Related Comparisons

GitHub
Bitbucket

Bitbucket vs GitHub vs GitLab

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot