[4Walter&Andrei] D is 40 times slower. We need a new language feature!
9il via Digitalmars-d
digitalmars-d at puremagic.com
Fri May 19 22:20:44 PDT 2017
On Saturday, 20 May 2017 at 03:53:42 UTC, Vladimir Panteleev
wrote:
> On Saturday, 20 May 2017 at 03:24:41 UTC, 9il wrote:
>> What can I do to make it happen?
>
> Sounds like you're asking for opIndex currying?
>
> https://en.wikipedia.org/wiki/Currying
>
> Have you tried implementing opIndex as a function which takes a
> single argument, and returns an object which then also
> implements opIndex with a single argument? You would probably
> need to write matrix[2][4] instead of matrix[2, 4], but that
> doesn't look hard to fix as well.
Yes, matrix[i][j] allows vectorization. This is already
implemented.
In the same time users prefer [i, j] syntax. So it should be
deprecated :-/
>> As was said optimizsers can not split opIndex body because it
>> is function (inlined or not inlined does not matter).
>
> Have you tried splitting the opIndex implementation into two
> functions, one with just the code that should always be
> inlined, and one with the rest of the code that doesn't
> necessarily have to be inlined?
ditto
> How about pragma(inline), does that help?
No
More information about the Digitalmars-d
mailing list