Skip to content

Instantly share code, notes, and snippets.

@badamczewski
Created July 27, 2021 13:41
Show Gist options
  • Select an option

  • Save badamczewski/03a53c07dfbe013aa8b8ff99f49a208c to your computer and use it in GitHub Desktop.

Select an option

Save badamczewski/03a53c07dfbe013aa8b8ff99f49a208c to your computer and use it in GitHub Desktop.

Revisions

  1. badamczewski created this gist Jul 27, 2021.
    42 changes: 42 additions & 0 deletions last_one_promiste.cs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,42 @@
    public class Bench92
    {
    public int[] _x = null;

    [GlobalSetup]
    public void Setup()
    {
    _x = new int[10000];
    }

    [Benchmark(Baseline = true)]
    [MethodImpl(MethodImplOptions.NoInlining)]
    [Arguments(0)]
    public int A(int z)
    {
    var x = _x;
    try { _ = 1; } catch { }
    for (int i = 0; i < x.Length; i++)
    {
    x[i] += i + z;
    z += x[i];
    }
    return z;
    }

    [Benchmark()]
    [MethodImpl(MethodImplOptions.NoInlining)]
    [Arguments(0)]
    public int B(int z)
    {
    var x = _x;
    try { _ = 1; } catch { }
    var y = x;
    var zz = z;
    for (int i = 0; i < y.Length; i++)
    {
    y[i] += i + zz;
    zz += y[i];
    }
    return zz;
    }
    }