EgorBot / runtime-utils

MIT License
0 stars 1 forks source link

EgorBot for EgorBo in #109014 #124

Open EgorBot opened 1 month ago

EgorBot commented 1 month ago

Processing https://github.com/dotnet/runtime/pull/109014#issuecomment-2422228175 command:

Command -arm64 -profiler -nonativepgo -perf_events ld_align_lat ```cs using BenchmarkDotNet.Attributes; public class Bench { static object[] Src = Enumerable.Range(0, 10).Select(i => (object)i).ToArray(); static object[] Dst = new object[128]; [Benchmark]public void CopyObjects10() => Src.AsSpan().CopyTo(Dst); } ```

(EgorBot will reply in this issue)

EgorBot commented 1 month ago

Benchmark results on Arm64

BenchmarkDotNet v0.14.0, Ubuntu 24.04 LTS (Noble Numbat)
Arm64
  Job-TPTPUM : .NET 10.0.0 (42.42.42.42424), Arm64 RyuJIT AdvSIMD
  Job-WVHOZW : .NET 10.0.0 (42.42.42.42424), Arm64 RyuJIT AdvSIMD
Method Toolchain Mean Error Ratio
CopyObjects10 Main 7.832 ns 0.0056 ns 1.00
CopyObjects10 PR 8.712 ns 0.0006 ns 1.11

BDN_Artifacts.zip

Profile for Bench_CopyObjects10:

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

EgorBot commented 1 month ago

cc @EgorBo (logs)