On 10/1/22 12:57 AM, tsbockman wrote:
On Saturday, 1 October 2022 at 01:37:00 UTC, Steven Schveighoffer wrote:

The list of bit sizes is currently here:

I'm pretty sure those are in **bytes** not **bits**.

Yes, I meant bytes, sorry.


That's not a list of alignments, it is block sizes for some GC memory pools. The alignment of each block depends on the alignment of its pool, not just its size.

Pools are all page multiples. Each pool is split equally into bin sizes, from that list.

Regardless, it's not part of the public API, so it could change without warning.

Hence the "in practice" qualifier. Is it theoretically possible for a GC implementation to use smaller bin sizes, but it will never happen.

Consider that in small bins ( < 1 page ), no two bins are concatenated together. So if you had a bin of size 1, it means you would only allocate *one byte blocks*, never combining them.

Again, these are all implementation details, that likely will never change.

-Steve

Reply via email to