Boost logo

Boost :

Subject: Re: [boost] [review] The review of Boost.DoubleEnded starts today: September 21 - September 30
From: Thorsten Ottosen (tottosen_at_[hidden])
Date: 2017-10-13 17:13:50


Den 03-10-2017 kl. 00:02 skrev Benedek Thaler via Boost:

> Re-run results in very similar results.
> I think the numbers are convincing in favor of devector::unsafe_push_back.

There is not a huge difference between devector and vector. If I take my
test where I try to confuse the branch predictor and alter just 1 flag:
"favor small code" instead of "favor fast code", then I get:

32 bit:

10E3 63.8728 42.2238
10E4 62.2564 40.5588
10E5 62.0731 40.2956
10E6 62.2532 40.2451
10E7 62.3553 43.5931

64 bit:

10E3 29.2422 24.6654
10E4 28.3354 24.246
10E5 28.2262 23.7662
10E6 28.2777 23.8788
10E7 28.3777 23.8641

I think that is a good example of how the compiler can play tricks on
you. And this is major reason we should always strive after providing
abstractions with zero overhead.

kind regards

Thorsten


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