1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- using System;
- using System.Runtime.CompilerServices;
- using Unity.Collections;
- using Unity.Jobs;
-
- [assembly: InternalsVisibleTo("Burst.Benchmarks")]
-
- namespace UnityBenchShared
- {
- internal struct SumNumbersTest : IJob, IDisposable
- {
- public const int Count = 10000000;
-
- public NativeArray<float> output;
-
- [ReadOnly]
- public NativeArray<float> a;
- [ReadOnly]
- public NativeArray<float> b;
-
- public void Execute()
- {
- for (int i = 0; i < Count; ++i)
- {
- output[i] = a[i] + b[i];
- }
- }
-
- public struct Provider : IArgumentProvider
- {
- public object Value
- {
- get
- {
-
- var job = new SumNumbersTest();
- job.output = new NativeArray<float>(Count, Allocator.Persistent);
- job.a = new NativeArray<float>(Count, Allocator.Persistent);
- job.b = new NativeArray<float>(Count, Allocator.Persistent);
- for (int i = 0; i < Count; i++)
- {
- job.a[i] = i;
- }
- return job;
- }
- }
- }
-
- public void Dispose()
- {
- output.Dispose();
- a.Dispose();
- b.Dispose();
- }
- }
- }
|