Daniel Micay

Results 182 issues of Daniel Micay

It is very difficult to do this well, so it requires a lot of thought.

enhancement

Since slabs have a consistent size and predictable layout, it should be possible to do this quite well.

enhancement

The large allocation header is 4x pointer size, so it is 16 bytes on 32-bit and 32 bytes on 64-bit. The headers and allocations end up aligned to the header...

enhancement

A 4MiB chunk has room for 64 of the 64kiB slabs, but the first 64k is currently entirely lost due to the 8 byte chunk header. An alternative is for...

enhancement

Storing the ID (address of `tcache` is fine) of the last thread to allocate from the arena would make it possible to force any other threads with that arena still...

enhancement

This won't occur often in practice, so it's only worth doing if it's very low overhead.

enhancement

One way to do this would be to add an additional chunk tier to the various LIFO free lists.

enhancement

The current small size classes are the multiples of 16 in the range [16..512]. There are essentially no large size classes at all, as it simply rounds the size up...

enhancement

Huge allocation sizes could be stored with page granularity in order to perform better purging.

enhancement

It is currently `O(n_arenas * n_slots)` when it could be `O(n_slots)`. It's likely that the extra seeks over the list aren't a big deal, but it would be nice to...

enhancement