Skip to content
This repository was archived by the owner on Feb 23, 2026. It is now read-only.
This repository was archived by the owner on Feb 23, 2026. It is now read-only.

EgorBot for AaronRobinsonMSFT in #107218 #61

Open

Description

@EgorBot

Processing dotnet/runtime#107218 (comment) command:

Command

-intel -arm64 -perf

using System;
using System.Runtime.CompilerServices;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;

BenchmarkRunner.Run<Bench>(args: args);

public class Bench
{
    [Benchmark]
    public void Foo()
    {
        for (int i = 0; i < 1000; i++)
            Work<char>(1);
    }

    [MethodImpl(MethodImplOptions.NoInlining)]
    static void Work<T>(int size) => GC.KeepAlive(GC.AllocateUninitializedArray<T>(size));
}

(EgorBot will reply in this issue)

Activity

  1. EgorBot commented on Sep 3, 2024

    @EgorBot
    OwnerAuthor

    Benchmark results on Intel

    BenchmarkDotNet v0.14.0, Ubuntu 22.04.4 LTS (Jammy Jellyfish)
    Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 8 logical and 4 physical cores
      Job-QZYBNP : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
      Job-BSZHLM : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
    
    Method Toolchain Mean Error Ratio
    Foo Main 9.324 μs 0.1835 μs 1.00
    Foo PR 8.896 μs 0.1191 μs 0.95

    BDN_Artifacts.zip

    Flame graphs: Main vs PR 🔥
    Hot asm: Main vs PR
    Hot functions: Main vs PR
    Counters: Main vs PR

    For clean perf results, make sure you have just one [Benchmark] in your app.

  2. EgorBot commented on Sep 3, 2024

    @EgorBot
    OwnerAuthor
  3. EgorBot commented on Sep 3, 2024

    @EgorBot
    OwnerAuthor

    Benchmark results on Ampere

    BenchmarkDotNet v0.14.0, Ubuntu 22.04.4 LTS (Jammy Jellyfish)
    Ampere
      Job-NAIHYY : .NET 10.0.0 (42.42.42.42424), Arm64 RyuJIT AdvSIMD
      Job-XKUARV : .NET 10.0.0 (42.42.42.42424), Arm64 RyuJIT AdvSIMD
    RatioSD=0.02
    
    Method Toolchain Mean Error Ratio
    Foo Main 9.827 μs 0.1672 μs 1.00
    Foo PR 9.251 μs 0.1111 μs 0.94

    BDN_Artifacts.zip

    Flame graphs: Main vs PR 🔥
    Hot asm: Main vs PR
    Hot functions: Main vs PR
    Counters: Main vs PR

    For clean perf results, make sure you have just one [Benchmark] in your app.

  4. EgorBot commented on Sep 3, 2024

    @EgorBot
    OwnerAuthor
  5. EgorBo commented on Sep 3, 2024

    @EgorBo

    Looks like I broke profiler mode in my recent updates to the bot 😐

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions