![]() |
Boost : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2005-12-17 20:25:33
Ion Gaztañaga wrote:
> Hi Chris,
>
>> I made a few quick changes and re-ran the daytime3 server to
>> observe the memory allocations. What I changed was:
>>
>> <some code>
>
> Looks good. Eliminating "null()" makes things much better. However the
> underlying shared_ptr<socket> is quite important. Until you find a
> better solution, you could try to use a simple segregated storage
> (boost::pool or similar) for socket allocation to minimize memory use
> (in 32 systems unsigned int has the same size as a pointer) and the
> user could define BOOST_SP_USE_QUICK_ALLOCATOR so that shared_ptr's
> shared_count objects are also pooled. This way, memory waste will be
> minimum and the allocation very fast.
If ::operator new isn't terribly broken (if it is, use dlmalloc), memory
waste will aready be minimal and allocation would already be fast for small
objects. Custom per-component allocators are rarely worth the trouble, and
should never be the default.
Boost list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk