Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import std.stdio;
- import core.atomic;
- import core.thread;
- import core.sync.mutex;
- import std.datetime.stopwatch;
- import std.concurrency;
- import std.traits;
- import std.random;
- import std.algorithm;
- import std.conv;
- import core.simd;
- import core.stdc.string;
- float[4000] simd() {
- asd a;
- asd b;
- a.s[] = 10;
- b.s[] = 15;
- b.s[] += a.s[];
- return a.n;
- }
- union asd {
- float4[1000] s;
- float[4000] n;
- }
- float[4000] noSimd() {
- float[4000] a;
- float[4000] b;
- a[] = 10;
- b[] = 15;
- b[] += a[];
- return a;
- }
- void main()
- {
- writeln(benchmark!(simd, noSimd)(40));
- assert(simd() == noSimd());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement