|
|
|
|
|
by exDM69
529 days ago
|
|
Here's another interesting O(1) memory allocator but with arbitrary sized allocations and low fragmentation. Negative side is relatively high memory overhead (a few dozen bytes per allocation). This kind of allocator is often used to suballocate GPU memory in game and graphics applications. I'm using a variant of this algorithm with added support for shrinkable and aligned allocations and flexible bin sizing. You can also extend this idea to two dimensions to create texture atlases, which is possible in O(1) for power of two sized allocations. Original:
https://github.com/sebbbi/OffsetAllocator
Rust port:
https://crates.io/crates/offset-allocator |
|