Array!T and find are slow
Steven Schveighoffer via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu May 15 06:11:13 PDT 2014
On Wed, 14 May 2014 19:50:33 -0400, Meta <jared771 at gmail.com> wrote:
> On Wednesday, 14 May 2014 at 22:32:01 UTC, Jonathan M Davis via
> Digitalmars-d-learn wrote:
>> Yeah, much as Andrei would hate to hear it (enforce was his idea, and
>> he quite
>> likes the idiom), the fact that lazy is so inefficient makes it so that
>> it's
>> arguably bad practice to use it in high performance code. We really
>> need to
>> find a way to make it so that lazy is optimized properly so that we
>> _can_
>> safely use enforce, but for now, it's not a good idea unless the code
>> that
>> you're working on can afford the performance hit.
>>
>> Honestly, in general, I'd avoid most anything which uses lazy (e.g.
>> that's why
>> I'd use explict try-catch blocks rather than use
>> std.exception.assumeWontThrow - like enforce, it's a nice idea, but
>> it's too
>> expensive at this point).
>>
>> - Jonathan M Davis
>
> On the topic of lazy, why *is* it so slow, exactly?
Last time I remember, the issue is that functions with lazy parameters
will never be inlined.
-Steve
More information about the Digitalmars-d-learn
mailing list