On 6/16/2014 10:02 PM, Manu via Digitalmars-d wrote:
Granted. I don't really understand the situation well enough to
comment with any authority. What are the conditions that create the
requirement, or could relax it?

inc
try {
   ... code that may throw an exception ...
}
finally {
   dec;
}


nothrow obviously relaxes this requirement.

Yes, it does.


I don't know enough about other circumstances, but I can see a few
possibilities. Also, just the frequency of pointer copying I see in my
own code is very low, and I would NEVER generate that code in hot
loops.
I find it very hard to convince myself either way without evidence :/

I suggest writing some C++ code with shared_ptr<T>, and disassemble the result.


I can't imagine exceptions would appear in hot code very often/ever?

I've tried to explain this to you for months. You don't believe my explanations, we just go round in circles. I strongly suggest you write some code with shared_ptr<T> and try it out. Disassemble the result. Benchmark it. Use Microsoft C++, so I won't be sabotaging your results and it won't be because I write crappy compilers :-)

Reply via email to