IntersectMBO / lsm-tree

A Haskell library for on-disk tables based on LSM-Trees
Apache License 2.0
24 stars 7 forks source link

Alternative approach to page allocation #301

Open dcoutts opened 1 month ago

dcoutts commented 1 month ago

This is here for benchmarking comparison purposes, and so see what we think of the generality vs performance trade-off.

This allocator approach is a direct style, not using arenas. It's more like a slab allocator, but only for 4k page allocations.

This allows the slab cache to be manipulated only using atomic IORef operations.

jorisdral commented 1 month ago

@dcoutts is this a PR you would still like to get merged at some point now that the existing page allocator was optimised using SPECIALISE pragmas in #330?