raxfale
I also found that including the empty blocks in the lru list (essentially merging the asset_header and memory_block) streamlines the allocation process (as empty blocks naturally migrate to the end of the list, collapsing the eviction and free block search code paths)