On 4 Jul 2014 at 11:46, Neil Groves wrote:
I would hope Allocators would be added to ASIO in the standard. It is difficult to limit memory usage without Allocators in embedded systems.
I hate this recurring theme of "let's take something that works well today and then fsck it up by insisting it has allocator support"
Since I am far less familiar with these issues than you are the solution to avoiding detriment to designs by having allocator support is not obvious to me. What should we do instead of adding allocator support? Should we be improving the standard allocator like the implementations in Boost.Container, or are you suggesting that any standardisation of the allocator Concept would lead to a deterioration of the design? My own view is that the standard allocator is clearly suboptimal even for standard containers. This is evident from the performance improvements obtained in Boost.Container. I have noticed though that the improved allocators do not provide superior performance on Linux systems over the standard implementations. ITMm very interested in your proposed solutions as I suspect there is much to learn from your experience working on the standard library implementations.
There are lots of things going on here. STL allocators were always
half baked because they were never finished - John Lakos is but one
of many who took them to all sorts of interesting new places, indeed
Stepanov's original design had enormous potential. Unfortunately,
we've ended up stuck with these half finished things, and now they
are creating slow path performance with std::vector