|
Boost : |
Subject: Re: [boost] [xint] Third release is ready, requesting preliminary review
From: Stewart, Robert (Robert.Stewart_at_[hidden])
Date: 2010-05-03 07:39:09
Chad Nelson wrote:
> On 05/02/2010 04:19 PM, Jeffrey Lee Hellrung, Jr. wrote:
>
> > If something's not going to be modified, you might as well
> > make it a constant reference.
>
> I assume the savings come from somewhere else, since
> I already use constant references wherever I can get away with it.
>
> > The only example I can think of where COW might come in
> > handy is if you do something like
> >
> > cow* p_x1 = new cow();
> > cow* p_x2 = new cow(*p_x1); // no deep copy / shared ownership
> > // ... [A] Read from *p_x1, maybe? ...
> > delete p_x1; // *p_x2 now has exclusive ownership
>
> If I read your example correctly, then that's about what I
> was thinking
> of: algorithms that have to start with a copy of one or more of the
> passed-in parameters, but then need to modify it/them. The division
> algorithm requires this, just as one example off the top of my head.
If your algorithm requires a copy, then COW should make it slower because it will first manipulate the reference count and because you must query in each mutating operation whether to make a unique copy.
_____
Rob Stewart robert.stewart_at_[hidden]
Software Engineer, Core Software using std::disclaimer;
Susquehanna International Group, LLP http://www.sig.com
IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk