On 9/18/20 8:28 AM, David Malcolm wrote:I think of a "pool allocator" as
something that makes a small
number of
large allocation under the covers, and then uses that to serve
large
numbers of fixed sized small allocations and deallocations with
O(1)
using a free list.
Ah, I didn't know pool had a different meaning.
See e.g. gcc/alloc-pool.h
The name originated when the original v1 version was based on using
alloc-pool.h. when we went to varying sizes, we switched to and obstack
implementation and never changed the name.
<...>
I think it would be clearer to name this "irange_obstack", or
somesuch.
I'd prefer something more generic. We don't want to tie the name of
the
allocator to the underlying implementation. What if we later change
to
malloc? We'd have to change the name to irange_malloc.
irange_allocator? Or is there something more generically appropriate
here?
How about "irange_bump_allocator?" Rather long, but it expresses the
"irange_allocator" is sufficient . The consumer should not care
what the implementation is, and we may decide to implement it
differently down the road. So I don't want to imply something specific
in the name or we'd have to change it again.
Andrew