Real-time File I/O Heatmap with eBPF and Java 25

Building a Real-time File I/O Heatmap with eBPF and Java 25

Have you ever wondered exactly which files are being hammered by your Linux system in real-time? While tools like iotop or lsof are great, sometimes you want something more visual, custom, and lightweight. In this post, I’ll walk you through how I built a Real-time File I/O Heatmap using the power of eBPF for data collection and Java 25 for a modern Terminal UI (TUI). What is eBPF and Why Use It? eBPF (Extended Berkeley Packet Filter) is a revolutionary technology that allows you to run sandboxed programs in the Linux kernel without changing kernel source code or loading kernel modules. ...

January 21, 2026 · 4 min · Özkan Pakdil
Bun Microservice Framework Benchmark Results

Bun Joins the Microservice Framework Benchmark: Surprisingly Fast JavaScript Runtime

Introduction Today I’m excited to announce the addition of Bun to our microservice framework benchmark suite. The results are nothing short of remarkable . Bun has proven to be one of the fastest runtimes in our entire test suite, competing directly with Rust frameworks! What is Bun? Bun is a modern JavaScript runtime built from scratch using Zig and JavaScriptCore (the engine that powers Safari). It’s designed to be a drop-in replacement for Node.js with a focus on: ...

January 10, 2026 · 4 min · Özkan Pakdil
Eclipse Collections vs JDK Collections Performance Comparison

Eclipse Collections vs JDK Collections: A Performance Deep Dive

The Spark The other day I came across a fascinating post on Substack by Skilled Coder about Java data structure performance. The post showed some eye-opening numbers for 10M operations: Get operations: HashMap.get() → ~140 ms TreeMap.get() → ~420 ms ArrayList.get(i) → ~40 ms LinkedList.get(i) → ~2.5 s Insertion (10M elements): ArrayList.add() → ~180 ms HashMap.put() → ~300 ms LinkedList.add() → ~900 ms This got me thinking: how do these numbers compare to Eclipse Collections? And more importantly, how can we calculate these numbers ourselves using open source tools? ...

December 29, 2025 · 3 min · Özkan Pakdil
Golang and Express.js Benchmark Cover

Adding Golang and Express.js to the Microservice Framework Benchmark Suite

Introduction Test results for this benchmark run → Over the last two days, I’ve expanded our microservice framework benchmark suite to include two new contenders: Golang and Express.js. This addition allows us to compare performance across a broader spectrum of technologies, from compiled languages like Rust and Go to JVM-based frameworks and Node.js. New Additions Golang (Go 1.24.10) Go was added using the standard library only - no external frameworks. The implementation uses net/http package which is known for its excellent performance and simplicity. ...

December 3, 2025 · 4 min · Özkan Pakdil