SIMD benchmark

Walter Bright newshound2 at digitalmars.com
Sat Jan 14 22:56:16 PST 2012


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;
}


More information about the Digitalmars-d mailing list