Video wird geladen...
Video konnte nicht geladen werden
This week, I overhauled concurrent heap defragmentation (akin to garbage collection) in my voxel game, achieving microsecond-level pause times and O(1) scalability across all platforms. Since existing research didn't fit my needs, I built my own defragmentation algorithm from first principles. The new system is a game-changer for the... show more
38,548 Aufrufe • vor 1 Jahr •via X (Twitter)
11 Kommentare

Second clip:

The new heap defragmentation system is versatile enough to function as a garbage collector. However, I retained malloc/free semantics as a flexible guideline for the memory manager to use or ignore. This design makes it easy to benchmark my solution against traditional malloc/free and arenas. The results have been encouraging: the algorithm outperforms arenas in memory efficiency and holds its own against malloc/free when it comes to allocation performance.

I haven't been on twitter for almost a month what did I miss with your game?

Other than today's update, I've replaced the old Makefiles and messy shell scripts with my custom build system and unit test framework. On top of that, I ported my internal dev tools to Linux. While this work may not sound flashy, it lays the groundwork for more impactful feature updates coming next year.

This is really awesome! I'm just starting work on a voxel engine and have been thinking about how to do memory management for chunk meshes among other things I was going to go with slab/pool that potentially waste a bunch of memory, but perhaps I should try something like this

Is this tool usable/releaseable in a standalone way so people can look at it and use it for other things?

Yes, this is a general-purpose memory manager tailored for soft real-time applications. While it's currently proprietary, there are plans to potentially publish a blog post or paper about it in the long-term future.

This is a crazy awesome project! Love the updates.

Sounds insane, and impressive. Fantastic work!

Really curious what the performance of this algorithm would be like on mobile. But I’m guessing it’s a custom engine with no port…yet?

If the algorithm works on the Dreamcast, it should have no trouble running on modern mobile platforms.
