allocator
allocator copied to clipboard
consider doubling the large allocation header size on 32-bit architectures
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 size, making it impossible for two large allocations to share a 64-byte cacheline on 64-bit. This was an unintended benefit rather than being part of the design, but it may make sense to pay the cost of padding the header on 32-bit to gain it there too.