Passing array as const slows down code?
Steven Schveighoffer
schveiguy at yahoo.com
Fri Apr 27 09:02:00 PDT 2012
On Fri, 27 Apr 2012 11:33:39 -0400, Joseph Rushton Wakeling
<joseph.wakeling at webdrake.net> wrote:
> On 27/04/12 17:18, Steven Schveighoffer wrote:
>> const should not affect code generation *at all*, except for name
>> mangling
>> (const MyStruct is a different type from MyStruct), and generating an
>> extra
>> TypeInfo for const MyStruct and const MyStruct[]. Const is purely a
>> compile-time
>> concept.
>>
>> This cannot account for an extra 2 seconds. Something else is happening.
>>
>> Without more of your code, nobody can give a definitive answer except
>> it is not
>> supposed to affect it.
>
> The code is here: https://github.com/WebDrake/Dregs/
>
> ... and the particular file concerned is
> https://github.com/WebDrake/Dregs/blob/master/dregs/codetermine.d
>
> You'll see that there are about 8 different functions in there which
> receive as input an array of type Rating!(UserID, ObjectID,
> Reputation)[]. These were the inputs I was marking as const.
Hm.. you have marked all your functions pure as well. I don't think this
will affect anything in the current implementation, but it might.
However, I'd expect the opposite (const version is faster) if anything.
-Steve
More information about the Digitalmars-d-learn
mailing list