The State of Project Panama with Maurizio Cimadamore

Conversation with Project Panama lead Maurizio Cimadamore about the project's core mission, the split into foreign-memory access and foreign linker APIs, jextract, performance, interaction with Project Valhalla, the timeline, and more.

Always embed videos

(and give me a cookie to remember - privacy policy)

Watch on YouTube


Hi everyone,

I'm nipafx (but you can call me Nicolai) and today it's gonna be you, me, Maurizio Cimadamore, and the state of Project Panama! Maurizio is the lead of Project Panama, which will improve and enrich the connections between the Java Virtual Machine and non-Java APIs, what we usually call native code. It's main thrust is to replace JNI with a vastly more usable and slightly more performant component.

Maurizio and I talked about all things Panama: the project's core mission, the split into foreign-memory access and foreign linker API, the new tool jextract, performance comparisons to JNI and Unsafe, the interaction with Project Valhalla, the project timeline, and a few more things. Check out the time stamps in the description to jump to what interests you most.

Ready? Then let's get it on!

Table of Contents


Native code isn't really my strong suit and so I've never used JNI and am not sure whether I'll end up using Panama's accomplishments. But I started wishing I would.

Regarding Project Valhalla, which we touched on at the end: On the same stream I also talked to its lead Brian Goetz, and I'll upload that conversation soon, so subscribe if you don't want to miss it. By the way, I also had a longer conversation with Ron Pressler about the state of Project Loom - you can find that one over there.

I'll see you in the next one! So long...