Boost logo

Boost :

Subject: Re: [boost] [review] The review of Boost.DoubleEnded starts today: September 21 - September 30
From: Soul Studios (matt_at_[hidden])
Date: 2017-09-28 00:38:42


>>> With std::deque you cannot control the segment size, and
>>> implementations differ widely. Is it not obvious that having a block
>>> size of 1 or 2 (as e.g. visual c++ does) is very fast.
>>>
>>
>> Visual studio's implementation is almost brokenly slow compared to
>> others.
>
> I totally agree.

Okay, cool - my interpretation of your prev writing was that you
believed it was obvious that having a block size of 1 or 2 was fast -
but obviously I'm missing something here.

>>> That iteration over a deque can be slow has been known for two
>>> decades, Matt Austern wrote an article about it.
>>>
>>
>> Not true.
>> Libstdc++'s implementation iterates almost as fast as vector except
>> for large structs (due to a fixed memory-based block size).
>> http://www.plflib.org/benchmarks_haswell_gcc.htm#rawperformance
>
> Nice work, btw.
>
> Note I said "can" not "must". FWIW, batch_deque also uses a compile-time
> block size.

Ah - fair enough. And thanks.


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