zee_alloc
zee_alloc copied to clipboard
tiny Zig allocator primarily targeting WebAssembly
Buddy allocation is generally pretty efficient but suffers from internal fragmentation. Can slab allocation have similar code efficiency? 
Now that we have a built-in page-based allocator in std, we should start consuming it. Benefits: - standardize around std — properly coordinate with any wasm allocator - really freeing...
Current design is reasonably simple and compact, but we have two major issues: 1. Alignment is fixed at double-usize (8 bytes). It'd be nice if we can at least align...
_Alternative to https://github.com/fengb/zee_alloc/issues/3_ All payloads have natural alignment of 8. If we pad the payload by 8, we can get align 16. This sounds simpler than shifting _every_ block, but...
Generated from [twiggy](https://www.github.com/rustwasm/twiggy) ``` Shallow Bytes │ Shallow % │ Item ───────────────┼───────────┼───────────────────────────────────────────────────── 808 ┊ 41.41% ┊ main.ZeeAlloc((struct main.Config constant)).realloc 252 ┊ 12.92% ┊ "function names" subsection 173 ┊ 8.87% ┊...
Once we have https://github.com/fengb/zee_alloc/issues/3, we have a really nice characteristic: - Small allocations are always `align(16)`. The extra bits can denote the small size bitshift... which incidentally is less than...