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

Reply via email to