Ryan Bloom wrote:
Another lurker popping up in this thread.

/wave

Also, since we are talking a lot about performance and APR 2.0, I want
to mention again an improvement that I think should be made in APR
2.0.  The incomplete structures were a great idea for APR 1.0, but I
overused them.  We should have used incomplete structures for the
non-portable portions of each APR structure, but the portable stuff
should have been accessible directly.

Or to be more specific - EVERY structure should be incomplete, with the
well-defined elements (can we say self->pool?!?) up front, in the transparent
portion of the structure.  The opaque portion means that every structure CAN
be extended, and remain binary compatible, from 2.0 through 2.9.99 (and beyond.)

Which means no structure is alloc'ed by the user.  It would be cool if we could
modify our allocate/create functions to call out which allocator should be used,
e.g. APR_ALLOC_POOL, my_pool); or even APR_ALLOC_HEAP, NULL);

We should, as ryan mentioned, rethink this at a really basic level before we
call 2.0.0 'baked'.

Reply via email to