Skip to content

Instantly share code, notes, and snippets.

@jason-c-daniels
Last active August 14, 2024 20:38
Show Gist options
  • Save jason-c-daniels/24bb046e39b9a96dc491ec714456f04d to your computer and use it in GitHub Desktop.
Save jason-c-daniels/24bb046e39b9a96dc491ec714456f04d to your computer and use it in GitHub Desktop.
BenchmarkDotNet - 0.14.0 - working on home laptop
public class AllocationsBenchmarks
{
[Benchmark]
[ArgumentsSource(nameof(SizesToAllocate))]
public byte[] Allocate_Byte_Array_With_Size(int size)
=> new byte[size];
[Benchmark]
[ArgumentsSource(nameof(SizesToAllocate))]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public List<byte> Allocate_List_With_Size(int size)
=> new List<byte>(size);
public IEnumerable<int> SizesToAllocate()
{
yield return 0;
yield return 1;
yield return 2;
yield return 4;
yield return 16;
yield return 32;
yield return 64;
yield return 128;
yield return 256;
yield return 512;
yield return 1024;
yield return 0xFFFF/2; // 32K
yield return 0xFFFF; // 64K
}
}
BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment