On 1/10/2011 9:08 AM, Justin Johansson wrote:
On 10/01/11 03:06, Peter Alexander wrote:
I remember there was a discussion a little while back about how Phobos
would assume that structs are cheap to copy, and would simply pass them
by value.

Is this assumption now "the D way"? Should we all just pass structs by
value, assuming cheap copy construction?

If so, I think this needs to be documented somewhere (assuming it isn't
already), because it's a radical departure from C++, and also from most
other languages (where everything is a reference type). People need to
be aware of this.

What if the byte size of some struct is say a KB or a MB would one still
think that copy construction is cheap?

In this instance I would not blame poor performance on Phobos but rather
than your own design.

Cheers
Justin

I assume it varies by architecture, but at what size threshold is it faster to copy structs by reference instead of value? If I pass a large struct by value, will dmd optimize it away as a reference?

Reply via email to