On 08/31/2015 04:13 PM, Niall Douglas wrote:
On 30 Aug 2015 at 22:47, Thomas Heller wrote:
No, this stuff is at the core of where we are diverging in approach and why the AFIO API is so displeasing to you.
Where I am coming from is this:
"If the cost of defaulting to guaranteed memory safety to the end user is less than 0.5% overhead, I will default to guaranteed memory safety."
Where did you get this number from?
The benchmarks I ran before deciding on whether enforcing shared_ptr on handle was an acceptable overhead.
You've got to understand Thomas you and your fellow HPC colleagues are attacking AFIO's "overhead" without having run any benchmarks. You're claiming all this poor performance and high overhead stuff having absolutely no idea of performance on the ground. As I much as I appreciate where you think you're coming from, the benchmarks I ran before deciding on a shared_ptr on every handle said it was an inconsequential overhead. That's why I chose that design.
Now now, I merely asked where you got the numbers from. Where I come from?
From a purely API design, aka semantics point of view. You are the one talking about high performance and stuff, but fail to deliver.
<snip>
Why isn't it possible that consumers of AFIO implement all those ABI stability stuff?
You don't appear to understand well how ABI stable C++ is designed. It requires imposing costs on everybody. Look at the PIMPL idiom.
The PIMPL idiom has absolutely *nothing* to do with ABI stability.