|
Boost : |
Subject: Re: [boost] [Block Pointer] benchmark
From: Phil Endecott (spam_from_boost_dev_at_[hidden])
Date: 2011-05-25 19:15:08
Phil Bouchard <philippe_at_[hidden]> wrote:
> On 5/25/2011 3:27 PM, Nevin Liber wrote:
>>
>> You have yet to explain why your make_auto is so much slower than new
>> directly. It just isn't that expensive to copy one pointer and zero out
>> another. I can't imagine what else your code can possibly be doing. I
>> can't imagine how that can be more, let alone significantly more expensive
>> than a heap allocation. Enlighten me.
>
> Well if you have a direct assignment coming from operator new then the
> pointer can be transferred directly into a register. If you have
> temporary r-values to copy it into then the transfer will be done from
> one memory location to another, but it won't be a fast as a
> register-to-register transfer.
That effect should be immeasurably small, or eliminated entirely by the compiler.
I think you had better post your benchmark code. There must surely be
something else going on here.
Phil.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk