Show HN: Pathetic – Java pathfinding: 10k concurrent paths in ~7ms

Show HN (score: 8)
Found: May 05, 2026
ID: 4492

Description

Other
Show HN: Pathetic – Java pathfinding: 10k concurrent paths in ~7ms It started with drones. My co-founder and I were building a Minecraft plugin where drones had to navigate through unloaded chunks - terrain that doesn't even exist in memory yet. No existing library had any concept of it, which led to drones being stuck in non-existence.

Sloppy at first, tightly coupled to Minecraft's API, we built our own. But somewhere along the way we realized: the problem wasn't Minecraft. It was how Java pathfinding is built in general - object-heavy, GC-hostile, and single-threaded by assumption.

So I split the project. The core became its own thing: pure Java 8+ for compatibility, featuring a zero-allocation primitive heap instead of a theoretically optimal FibonacciHeap, because pointer chasing and cache misses were unacceptable. 100% async, even in a single-threaded, async-hating Minecraft hell, and a processor pipeline providing full extensibility. No game engine, yet the possibility to adapt to your environment.

Sometimes it isn't the algorithm that needs optimization, but the environment it lives in. Pathetic is full of these micro-optimizations: a BloomFilter lookup before the expensive closed set check, a multi-metric squared heuristic to kill Math.sqrt() overhead, and bit-packing 3D coordinates into a single primitive long. In order to get Java fast, you need to treat it like C++.

The result: 10k concurrent paths in ~7ms, where most libraries quietly die. A 20k distance path (equivalent to 100k+ nodes) in ~60ms without bloating the heap. The README is... a choice. Judge it, because it does the same to you.

More from Show

Show HN: Langy, an automated AI engineer (we gave it a robot body) [video]

Founder here. Langy is an AI engineer that lives inside our platform, LangWatch. It reads your production traces, writes Scenario tests and evaluations for the problems it finds, opens a pull request on your repo, and proves the fix by running those simulations in CI. A human still merges.<p>Reachy robot from Hugging Face arrived on the same week we were planing on launching it, so we wanted to use for the launch. So we it wired to our Langy which actually lives on the platform, and asked it to test our own customer-support voice agent. On the video you can see it writing the agent tests reading traces and everything.<p>LangWatch is an open source platform (github.com&#x2F;langwatch&#x2F;langwatch) and Scenario, the simulation-testing library it drives, is open source too if you want to run that part yourself: <a href="https:&#x2F;&#x2F;github.com&#x2F;langwatch&#x2F;scenario" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;langwatch&#x2F;scenario</a>. A full write-up on how Langy works under the hood is coming later this week.<p>Happy to get into how it drives the robot, what is real vs staged, latency, or how the whole harness around it actually works.

No other tools from this source yet.