using System; using System.Collections.Generic; using NUnit.Framework; using Unity.Collections; using Unity.PerformanceTesting; namespace Unity.Collections.PerformanceTests { internal class NativeSlicePerformanceTests { [Test, Performance] [Category("Performance")] public void NativeSlice_Performance_CopyTo() { const int numElements = 16 << 10; NativeArray array = new NativeArray(numElements, Allocator.Persistent); var slice = new NativeSlice(array, 0, numElements); var copyToArray = new int[numElements]; Measure.Method(() => { slice.CopyTo(copyToArray); }) .WarmupCount(100) .MeasurementCount(1000) .Run(); array.Dispose(); } [Test, Performance] [Category("Performance")] public void NativeSlice_Performance_CopyFrom() { const int numElements = 16 << 10; NativeArray array = new NativeArray(numElements, Allocator.Persistent); var slice = new NativeSlice(array, 0, numElements); var copyToArray = new int[numElements]; Measure.Method(() => { slice.CopyFrom(copyToArray); }) .WarmupCount(100) .MeasurementCount(1000) .Run(); array.Dispose(); } } }