Boost logo

Boost :

Subject: Re: [boost] Final benchmark graphs for Colony vs std:: containers now available
From: Soul Studios (matt_at_[hidden])
Date: 2016-05-11 20:59:33


>> ...you can have mutexes on individual blocks rather than the whole thing.
>> Also some reads and writes can occur at the same time.
>>
>
> Is there currently in your implementation a way to know to which block an
> item belongs to (or to get the size of its block, which I guess comes down
> to the same), i.e. to know which mutex should be considered. If not, could
> that be a future feature?

There's no way currently, I'd be more inclined to implement a separate
100% threadsafe version specifically - for both performance reasons and
to not expose unnecessary details to the end user.

> It's a shame actually that the chunk-size is not user-settable (as per the
> standard from what I understand) for a std::deque or boost::deque, the
> latter with a chunk size of 512b last time I looked. I always use the boost
> one... maybe on Windows (with VC) you should test against the boost::deque
> instead, in order to get some sensible data...

Might be a good idea for a future test, but I think the GCC results
cover it more-or-less for now- plus it's good for people to know how
terrible some of MS/Dinkumware's implementations are :)

> I see your implementation gives control over the first block on
> construction (and the rest then follows the growth policy), NICE! I like it!

Yes, it also gives control to maximum block size, which might be of use
in some streaming applications where the cache size is known, such as
games, or in memory-constrained environments.
Plus I've just finished creating a proper reserve function - though it
shouldn't be online for another few days-


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk