I get a 2 to 2.5 speedup with the vector instructions on 64 bit Linux.
Anyhow, it's good enough now to play around with. Consider it alpha quality. Expect bugs - but make bug reports, as there's a serious lack of source code to test it with.
-----------------------
import core.simd;

void test1a(float[4] a) { }

void test1()
{
    float[4] a = 1.2;
    a[] = a[] * 3 + 7;
    test1a(a);
}

void test2a(float4 a) { }

void test2()
{
    float4 a = 1.2;
    a = a * 3 + 7;
    test2a(a);
}

import std.stdio;
import std.datetime;

int main()
{
    test1();
    test2();
    auto b = comparingBenchmark!(test1, test2, 100);
    writeln(b.point);
    return 0;
}

Reply via email to