Hacker ApprovedDepartments

GraalVM Native Image

Hacker Approved

Ranked 4 of 26 compilers by recommenders

Compiles Java and JVM code into standalone binaries with fast startup and low memory use. Main caveat: long build times and library or reflection compatibility problems.

Compiles Java and JVM code into standalone binaries with fast startup and low memory use. Main caveat: long build times and library or reflection compatibility problems.

40 people gave an opinion

recommend it
31
criticize it
9
approval share
78%
Each figure is one person. RecommendsCriticizes

Recommended in 11 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: not recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Why it carries the badge

  • 31 people recommend itNeeds 10 or more, met.
  • 3.4 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 11 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Fast startup times

    “Java native binary performance is excellent, app startup time also significantly less compared to JVM version.”

    Comment from 3 Jun 2026 in “Every Byte Matters”

    “you can get C/Rust style startup time and less memory usage with the latter”

    Comment from 30 Oct 2026 on Hacker News

    “startup time can be an order of magnitude or more faster in a native build”

    Comment from 10 Sep 2026 in “JEP 544: Ahead-of-Time Code Compilation”
  • Single binary, easy distribution

    “This will give you what you want which is basically something you can wget and chmod +x.”

    Comment from 31 Dec 2025 in “2026: The Year of Java in the Terminal”

    “But then it distributes as one binary and starts in milliseconds.”

    Comment from 17 May 2026 in “Zerostack – A Unix-inspired coding agent written in pure Rust”

    “You can have a <20MiB Graal-compiled binary for a Java project”

    Comment from 18 Mar 2026 in “Java 26 is here, and with it a solid foundation for the future”
  • Mature and improved developer experience

    “Native images shouldn't be too messy anymore, Oracle put a lot of effort into DX improvements”

    Comment from 29 Oct 2026 in “Java's new AOT cache feature is in a rough state”

    “GraalVM native-image have eliminated most of the old excuses”

    Comment from 31 Dec 2025 in “2026: The Year of Java in the Terminal”

    “So it's mostly plug-n-play but with some caveats”

    Comment from 8 Apr 2026 in “GraalVM and Java and Native Images, compile Java to standalone executables”
  • Suits non-server and constrained environments

    “first thing I'd evaluate if thought about non-server side, performant Java application”

    Comment from 17 May 2026 in “Zerostack – A Unix-inspired coding agent written in pure Rust”

    “For constrained environments, GraalVM offers native image.”

    Comment from 11 Sep 2026 in “Rust is tier-1 language at Microsoft”

What people warn about

Each mark is one comment

  • Long build times

    “Build times definitely leave to be desired, not all 3rd party libraries can easily be used”

    Comment from 20 Nov 2025 in “Implementation of a Java Processor on a FPGA (2016)”

    “The downside is long compile times (2 minutes for a simple CLI tool that uses AWS SDK).”

    Comment from 28 May 2026 in “Ruby vs. Java vs. TypeScript: my experience on building a Cowork DOCX plugin”

    “build times are super slow, use too many resources, and it’s non-trivial to get working”

    Comment from 31 Dec 2025 in “2026: The Year of Java in the Terminal”
  • Some libraries and frameworks break

    “Build times definitely leave to be desired, not all 3rd party libraries can easily be used”

    Comment from 20 Nov 2025 in “Implementation of a Java Processor on a FPGA (2016)”

    “then half your favorite frameworks breaks and you trade one set of hoops for another”

    Comment from 20 Mar 2026 in “Java Is Fast. Your Code Might Not Be”

    “GraalVM has a lot of limitations, some popular lib don't work with it.”

    Comment from 20 Mar 2026 in “Java Is Fast. Your Code Might Not Be”
  • Reflection and class setup needed

    “it does limit you a little b/c with Graal native you need to tell the compiler if you will dynamically use a type/class”

    Comment from 4 Apr 2026 in “GraalVM and Java and Native Images, compile Java to standalone executables”

    “compiling Java applications ahead of time is complicated by runtime class initialization, reflection etc.”

    Comment from 31 Dec 2025 in “2026: The Year of Java in the Terminal”

    “With Graal Native, you'll have to go through using the tracing agent”

    Comment from 18 Mar 2026 in “Java 26 is here, and with it a solid foundation for the future”

Other compilers people recommend

The four most recommended other compilers, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

GraalVM Native Image compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
GCC13812353%1215 yrs9 owners—
Clang745060%12——
Free Pascal compiler38784%11—Approved
GraalVM Native ImageThis page31978%11—Approved
.NET Native AOT261367%10—Approved
See all 26 compilers, ranked

What people said

40 of the 48 comments that mention it, newest first. Each links to the original comment.

“you can get C/Rust style startup time and less memory usage with the latter”

RecommendsComment from 30 Oct 2026 on Hacker News

“Native images shouldn't be too messy anymore, Oracle put a lot of effort into DX improvements”

RecommendsComment from 29 Oct 2026 in “Java's new AOT cache feature is in a rough state”

“all of them super messy to get to work with a normal JVM webapp”

CriticizesComment from 29 Oct 2026 in “Java's new AOT cache feature is in a rough state”

“GraalVM native-image comes with its own set of trade-offs since it's based on a closed-world assumption”

CriticizesComment from 9 Oct 2026 in “Clojure in the age of language models”

“the binaries were quite big (not a showstopper though) and the class-loading issues were kind of a PITA”

MixedComment from 16 Sep 2026 in “Java 27”

“For constrained environments, GraalVM offers native image.”

MixedComment from 11 Sep 2026 in “Rust is tier-1 language at Microsoft”

“startup time can be an order of magnitude or more faster in a native build”

RecommendsComment from 10 Sep 2026 in “JEP 544: Ahead-of-Time Code Compilation”

“The slight drawback is that AOT compiled Java code's performance isn't as good as the JIT compiled form running on the JVM.”

MixedComment from 10 Sep 2026 in “JEP 544: Ahead-of-Time Code Compilation”

“already let's do AOT compilation suitable for distribution”

RecommendsComment from 10 Sep 2026 in “JEP 544: Ahead-of-Time Code Compilation”

“even compared to GraalVM Native Image”

MixedComment from 1 Sep 2026 in “Zig: Pointer Stability for ArrayLists”

“it's a major pain to make even simple existing applications run flawlessly natively”

MixedComment from 27 Jul 2026 in “Scriptc by Vercel: TypeScript-to-Native compiler, no JavaScript engine in binary”

“AOT Java on Graal is quite mature at this point”

RecommendsComment from 10 Jun 2026 in “Port React Compiler to Rust”

“Java native binary performance is excellent, app startup time also significantly less compared to JVM version.”

RecommendsComment from 3 Jun 2026 in “Every Byte Matters”

“The downside is long compile times (2 minutes for a simple CLI tool that uses AWS SDK).”

MixedComment from 28 May 2026 in “Ruby vs. Java vs. TypeScript: my experience on building a Cowork DOCX plugin”

“If you don't like JIT/JVM there's GraalVM Native Image.”

RecommendsComment from 20 May 2026 in “Everything in C is undefined behavior”

“But then it distributes as one binary and starts in milliseconds.”

MixedComment from 17 May 2026 in “Zerostack – A Unix-inspired coding agent written in pure Rust”

“first thing I'd evaluate if thought about non-server side, performant Java application”

MixedComment from 17 May 2026 in “Zerostack – A Unix-inspired coding agent written in pure Rust”

“Java/Kotlin/Scala have GraalVM native-image”

MixedComment from 8 May 2026 in “Just Fucking Use Go”

“So it's mostly plug-n-play but with some caveats”

MixedComment from 8 Apr 2026 in “GraalVM and Java and Native Images, compile Java to standalone executables”

“it does limit you a little b/c with Graal native you need to tell the compiler if you will dynamically use a type/class”

MixedComment from 4 Apr 2026 in “GraalVM and Java and Native Images, compile Java to standalone executables”

“then half your favorite frameworks breaks and you trade one set of hoops for another”

MixedComment from 20 Mar 2026 in “Java Is Fast. Your Code Might Not Be”

“GraalVM has a lot of limitations, some popular lib don't work with it.”

CriticizesComment from 20 Mar 2026 in “Java Is Fast. Your Code Might Not Be”

“in part due to the push for Graal native image”

MixedComment from 20 Mar 2026 in “Java Is Fast. Your Code Might Not Be”

“You can have a <20MiB Graal-compiled binary for a Java project”

RecommendsComment from 18 Mar 2026 in “Java 26 is here, and with it a solid foundation for the future”

“With Graal Native, you'll have to go through using the tracing agent”

CriticizesComment from 18 Mar 2026 in “Java 26 is here, and with it a solid foundation for the future”

“I remain convinced that Graal is deep magic.”

RecommendsComment from 16 Feb 2026 in “Transforming a Clojure Database into a Library with GraalVM Native Image and FFI”

“GraalVM Native Image did the heavy lifting”

RecommendsComment from 27 Jan 2026 in “Transforming a Clojure Database into a Polyglot Library with GraalVM and FFI”

“Native Image can make macOS binaries just fine”

RecommendsComment from 25 Jan 2026 in “Kotlin's Rich Errors: Native, Typed Errors Without Exceptions”

“where they could have just used GraalVM Native Image”

MixedComment from 25 Jan 2026 in “Kotlin's Rich Errors: Native, Typed Errors Without Exceptions”

“in practice I don't see this as a problem as it does not affect the end user”

RecommendsComment from 1 Jan 2026 in “2026: The Year of Java in the Terminal”

“GraalVM native image allows doing exactly that.”

RecommendsComment from 31 Dec 2025 in “2026: The Year of Java in the Terminal”

“fast enough you can launch it during tab completions”

RecommendsComment from 31 Dec 2025 in “2026: The Year of Java in the Terminal”

“compiling Java applications ahead of time is complicated by runtime class initialization, reflection etc.”

CriticizesComment from 31 Dec 2025 in “2026: The Year of Java in the Terminal”

“GraalVM native-image have eliminated most of the old excuses”

RecommendsComment from 31 Dec 2025 in “2026: The Year of Java in the Terminal”

“Every time I've tried to get native-image working with anything more than a basic Swing app it has been absolute hell.”

CriticizesComment from 31 Dec 2025 in “2026: The Year of Java in the Terminal”

“It is not trivial to use, the compile times are extremely long”

CriticizesComment from 31 Dec 2025 in “2026: The Year of Java in the Terminal”

“This will give you what you want which is basically something you can wget and chmod +x.”

RecommendsComment from 31 Dec 2025 in “2026: The Year of Java in the Terminal”

“build times are super slow, use too many resources, and it’s non-trivial to get working”

CriticizesComment from 31 Dec 2025 in “2026: The Year of Java in the Terminal”

“One of the neatest things I've been able to do is compile a .dll library "plugin" for an application”

RecommendsComment from 7 Dec 2025 in “Java Hello World, LLVM Edition”

“Build times definitely leave to be desired, not all 3rd party libraries can easily be used”

MixedComment from 20 Nov 2025 in “Implementation of a Java Processor on a FPGA (2016)”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.