Assuming structs are cheap to copy?

Eric Poggel dnewsgroup2 at yage3d.net
Mon Jan 10 10:52:40 PST 2011


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?


More information about the Digitalmars-d mailing list