Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EgorBot for EgorBo in #111636 #247

Open
EgorBot opened this issue Jan 23, 2025 · 2 comments
Open

EgorBot for EgorBo in #111636 #247

EgorBot opened this issue Jan 23, 2025 · 2 comments

Comments

@EgorBot
Copy link
Owner

EgorBot commented Jan 23, 2025

Processing dotnet/runtime#111636 (comment) command:

Command

-linux_azure_cobalt100 -linux_azure_ampere -profiler

using BenchmarkDotNet.Attributes;

public class MyBench
{
    object Dst1;
    object Dst2;
    object Dst3;
    object Dst4;

    static object Value = new();

    [Benchmark]
    public void WB_nonephemeral()
    {
        // Write non-ephemeral reference
        Dst1 = Value;
        Dst2 = Value;
        Dst3 = Value;
        Dst4 = Value;
    }

    [Benchmark]
    public void WB_ephemeral()
    {
        // Write non-ephemeral reference
        Dst1 = new object();
    }
}

(EgorBot will reply in this issue)

@EgorBot
Copy link
Owner Author

EgorBot commented Jan 23, 2025

Benchmark results on linux_azure_cobalt100

BenchmarkDotNet v0.14.0, Ubuntu 24.04.1 LTS (Noble Numbat)
azure_cobalt100
  Job-BPVCFV : .NET 10.0.0 (42.42.42.42424), Arm64 RyuJIT AdvSIMD
  Job-OGPAOF : .NET 10.0.0 (42.42.42.42424), Arm64 RyuJIT AdvSIMD
Method Toolchain Mean Error Ratio
WB_nonephemeral Main 4.279 ns 0.0031 ns 1.00
WB_nonephemeral PR 5.553 ns 0.0029 ns 1.30
WB_ephemeral Main 5.359 ns 0.0110 ns 1.00
WB_ephemeral PR 6.435 ns 0.0197 ns 1.20

BDN_Artifacts.zip

Profiling for MyBench_WB_ephemeral:

SVG flamegraph: Main vs PR 🔥
Speedscope flamegraph: Main vs PR
Hot asm code: Main vs PR
HW counters: Main vs PR

Profiling for MyBench_WB_nonephemeral:

SVG flamegraph: Main vs PR 🔥
Speedscope flamegraph: Main vs PR
Hot asm code: Main vs PR
HW counters: Main vs PR


cc @EgorBo (agent_logs.txt). EgorBot manual: link.

@EgorBot
Copy link
Owner Author

EgorBot commented Jan 23, 2025

Benchmark results on linux_azure_ampere

BenchmarkDotNet v0.14.0, Ubuntu 24.04.1 LTS (Noble Numbat)
azure_ampere
  Job-JZLAMQ : .NET 10.0.0 (42.42.42.42424), Arm64 RyuJIT AdvSIMD
  Job-SEKTJT : .NET 10.0.0 (42.42.42.42424), Arm64 RyuJIT AdvSIMD
Method Toolchain Mean Error Ratio
WB_nonephemeral Main 13.76 ns 0.003 ns 1.00
WB_nonephemeral PR 15.12 ns 0.002 ns 1.10
WB_ephemeral Main 10.14 ns 0.063 ns 1.00
WB_ephemeral PR 11.72 ns 0.097 ns 1.16

BDN_Artifacts.zip

Profiling for MyBench_WB_ephemeral:

SVG flamegraph: Main vs PR 🔥
Speedscope flamegraph: Main vs PR
Hot asm code: Main vs PR
HW counters: Main vs PR

Profiling for MyBench_WB_nonephemeral:

SVG flamegraph: Main vs PR 🔥
Speedscope flamegraph: Main vs PR
Hot asm code: Main vs PR
HW counters: Main vs PR


cc @EgorBo (agent_logs.txt). EgorBot manual: link.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant