Firstborn/Library/PackageCache/com.unity.burst@1.7.3/Tests/Runtime/UnityBenchShared/SumNumberJob.cs

57 lines
1.4 KiB
C#
Raw Normal View History

2023-03-28 13:24:16 -04:00
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();
}
}
}