Native C++ GDExtension For High-Performance Object Pooling
Built for performance-critical indie games, where heap allocations and GC spikes can break smooth gameplay.
If your game is struggling with dynamic memory management, you might want to check out ZeroAllocPool by ElBranda. It's a native C++ GDExtension designed specifically for high-performance object pooling and comes as a drop-in addon for Godot 4.6 and above.
The developer created it while working on object-heavy genres, where they ran into performance limits in GDScript when managing thousands of concurrent entities. Heavy use of instantiate() and queue_free() inevitably puts pressure on Godot's memory management, leading to small but noticeable stutters that break gameplay smoothness.
Key features include:
- True Zero-Allocation: Reserves a contiguous block of memory linearly at level load. Zero 'new' or 'malloc' operations during runtime;
- CPU Cache Locality: Data is stored back-to-back in memory, minimizing CPU cache misses and maximizing hardware processing speed;
- O(1) Time Complexity: Fetching ('obtain') and recycling ('release') available slots takes constant time, regardless of pool size;
- GDScript Friendly: Exposes a clean, high-speed index management API directly to your GDScript architecture without SceneTree overhead.
ElBranda conducted a stress test by spawning 15,000 active nodes, as shown in the clip above:
"Standard high-frequency allocation causes the engine to chug down to ~20 FPS. Switching to the C++ native pool instantly stabilizes the frame rate back to a buttery-smooth, locked 60 FPS."
ZeroAllocPool is MIT-licensed and comes with separate debug and release builds: the debug version has extra checks for safety, while the release version is fully optimized for performance.
You can purchase it here and subscribe to our Newsletter, join our 80 Level Talent platform, and follow us on Twitter, LinkedIn, Telegram, and Instagram, where we share breakdowns, the latest news, awesome artworks, and more.
Are you a fan of what we do here at 80 Level? Then make sure to set us as a Preferred Source on Google to see more of our content in your feed.