Bartosz Milewski seems to like D more than C++ now :)

Szymon Gatner noemail at gmail.com
Fri Sep 20 08:55:41 PDT 2013


On Friday, 20 September 2013 at 15:09:57 UTC, Dmitry Olshansky 
wrote:
> 20-Sep-2013 18:13, Szymon Gatner пишет:
>> On Friday, 20 September 2013 at 14:04:06 UTC, Dmitry Olshansky 
>> wrote:
>
>>> >> Can't a container be a range as well?
>>> >>
>>>
>>> >For Christ sake no, no and no.
>>>
>>> [... Because that would be ...]
>>>
>>> > TL;DR: Suboptimal, unnatural and error prone are keywords.
>>>
>>> Then your question - Why would it be suboptimal?
>>>
>>> Which your second reply seem to clearly explain: extra state 
>>> placed
>>> where it doesn't belong. I can't easily correlate your two 
>>> answers as
>>> they look as if the second one answers questions of the first.
>>> Anyhow we are in agreement here.
>>
>> Mind that "Can't a container be a range as well?" was not from 
>> me.
>
> Yup, but it was what I was answering ... when you asked about 
> why would it be suboptimal... A container that is a range at 
> the same time is suboptimal, that's all.
>
>> Still, moving computation over a range from for loop body into 
>> the range
>> implementation (like filtering) incurs no performance penalty 
>> and has
>> additional benefits of composability and maintainability. Do 
>> you mean
>> that is suboptimal?
>
> I made no statement on this I think. It shouldn't be 
> ineffective.
> The only problem with it that I foresee is that in order to 
> take advantage of vectorized SIMD in CPU it could be harder to 
> auto-magically vectorize such code for compiler.
>
> For that matter I think e.g. providing explicitly a range of 
> float4 fells like a better way to go.

Yup, we agree then :) I think I add to confusion also because I 
think about C++ and not D. I didn't realize that arrays/slices 
are ranges in D. That is not good indeed.


More information about the Digitalmars-d mailing list