Skip to content

Benchmarks for #116057 (EgorBo) #364

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

Open
EgorBot opened this issue May 29, 2025 · 3 comments
Open

Benchmarks for #116057 (EgorBo) #364

EgorBot opened this issue May 29, 2025 · 3 comments

Comments

@EgorBot
Copy link
Owner

EgorBot commented May 29, 2025

Processing dotnet/runtime#116057 (comment) command:

Command

-arm -amd -windows_intel

using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;

BenchmarkSwitcher.FromAssembly(typeof(Bench).Assembly).Run(args);

public class Bench
{
    private static Dictionary<string, int> Dictionary
        // We don't need to fill the dictionary as we're only benchmarking the hashcode operation.
        = new() { { "1", 2 } };

    [Benchmark]
    [ArgumentsSource(nameof(GetKeys))]
    public bool Contains(string key) => Dictionary.ContainsKey(key);

    public static IEnumerable<string> GetKeys()
    {
        foreach (int len in (int[])[1, 3, 5, 8, 10, 16, 20, 32, 40, 50, 100, 1000, 10000])
            yield return new string('a', len);
    }
}

(EgorBot will reply in this issue)

@EgorBot
Copy link
Owner Author

EgorBot commented May 29, 2025

Benchmark results on linux_azure_genoa

BenchmarkDotNet v0.14.0, Ubuntu 24.04.2 LTS (Noble Numbat)
AMD EPYC 9V74, 1 CPU, 16 logical and 8 physical cores
  Job-KXWOIT : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-AMSICH : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
Method Toolchain key Mean Error Ratio
Contains Main a 5.076 ns 0.0121 ns 1.00
Contains PR a 4.797 ns 0.0026 ns 0.95
Contains Main aaa 3.969 ns 0.0004 ns 1.00
Contains PR aaa 4.794 ns 0.0010 ns 1.21
Contains Main aaaaa 4.242 ns 0.0004 ns 1.00
Contains PR aaaaa 6.909 ns 0.0264 ns 1.63
Contains Main aaaaaaaa 6.064 ns 0.0020 ns 1.00
Contains PR aaaaaaaa 6.477 ns 0.0020 ns 1.07
Contains Main aaaaaaaaaa 6.091 ns 0.0062 ns 1.00
Contains PR aaaaaaaaaa 6.968 ns 0.0005 ns 1.14
Contains Main aaaaaaaaaaaaaaaa 5.614 ns 0.0017 ns 1.00
Contains PR aaaaaaaaaaaaaaaa 7.092 ns 0.0009 ns 1.26
Contains Main aaaaaaaaaaaaaaaaaaaa 7.259 ns 0.0788 ns 1.00
Contains PR aaaaaaaaaaaaaaaaaaaa 11.270 ns 0.0067 ns 1.55
Contains Main aaaaa(...)aaaaa [32] 10.218 ns 0.0041 ns 1.00
Contains PR aaaaa(...)aaaaa [32] 8.876 ns 0.0014 ns 0.87
Contains Main aaaaa(...)aaaaa [40] 11.735 ns 0.0040 ns 1.00
Contains PR aaaaa(...)aaaaa [40] 10.786 ns 0.0010 ns 0.92
Contains Main aaaaa(...)aaaaa [50] 11.386 ns 0.0086 ns 1.00
Contains PR aaaaa(...)aaaaa [50] 12.700 ns 0.0016 ns 1.12
Contains Main aaaa(...)aaaa [100] 21.241 ns 0.0112 ns 1.00
Contains PR aaaa(...)aaaa [100] 18.115 ns 0.0056 ns 0.85
Contains Main aaaa(...)aaaa [1000] 208.916 ns 0.0233 ns 1.00
Contains PR aaaa(...)aaaa [1000] 57.728 ns 0.3034 ns 0.28
Contains Main aaa(...)aaa [10000] 2,048.211 ns 0.3218 ns 1.00
Contains PR aaa(...)aaa [10000] 392.026 ns 0.7484 ns 0.19

BDN_Artifacts.zip

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

@EgorBot
Copy link
Owner Author

EgorBot commented May 29, 2025

Benchmark results on linux_azure_cobalt100

BenchmarkDotNet v0.14.0, Ubuntu 24.04.2 LTS (Noble Numbat)
azure_cobalt100
  Job-URFIBW : .NET 10.0.0 (42.42.42.42424), Arm64 RyuJIT AdvSIMD
  Job-NJQTRN : .NET 10.0.0 (42.42.42.42424), Arm64 RyuJIT AdvSIMD
Method Toolchain key Mean Error Ratio
Contains Main a 4.604 ns 0.0019 ns 1.00
Contains PR a 5.777 ns 0.0008 ns 1.25
Contains Main aaa 3.828 ns 0.0027 ns 1.00
Contains PR aaa 6.562 ns 0.0012 ns 1.71
Contains Main aaaaa 4.080 ns 0.0026 ns 1.00
Contains PR aaaaa 8.162 ns 0.0011 ns 2.00
Contains Main aaaaaaaa 6.267 ns 0.0009 ns 1.00
Contains PR aaaaaaaa 7.613 ns 0.0006 ns 1.21
Contains Main aaaaaaaaaa 4.939 ns 0.0007 ns 1.00
Contains PR aaaaaaaaaa 8.521 ns 0.0006 ns 1.73
Contains Main aaaaaaaaaaaaaaaa 6.546 ns 0.0039 ns 1.00
Contains PR aaaaaaaaaaaaaaaa 8.541 ns 0.0007 ns 1.30
Contains Main aaaaaaaaaaaaaaaaaaaa 8.057 ns 0.0013 ns 1.00
Contains PR aaaaaaaaaaaaaaaaaaaa 15.000 ns 0.0012 ns 1.86
Contains Main aaaaa(...)aaaaa [32] 11.135 ns 0.0012 ns 1.00
Contains PR aaaaa(...)aaaaa [32] 11.968 ns 0.0007 ns 1.07
Contains Main aaaaa(...)aaaaa [40] 12.230 ns 0.0023 ns 1.00
Contains PR aaaaa(...)aaaaa [40] 15.327 ns 0.0013 ns 1.25
Contains Main aaaaa(...)aaaaa [50] 13.689 ns 0.0047 ns 1.00
Contains PR aaaaa(...)aaaaa [50] 18.476 ns 0.0006 ns 1.35
Contains Main aaaa(...)aaaa [100] 24.803 ns 0.0045 ns 1.00
Contains PR aaaa(...)aaaa [100] 29.237 ns 0.0028 ns 1.18
Contains Main aaaa(...)aaaa [1000] 258.577 ns 0.0892 ns 1.00
Contains PR aaaa(...)aaaa [1000] 167.325 ns 0.0190 ns 0.65
Contains Main aaa(...)aaa [10000] 2,613.469 ns 0.4507 ns 1.00
Contains PR aaa(...)aaa [10000] 1,595.038 ns 0.2807 ns 0.61

BDN_Artifacts.zip

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

@EgorBot
Copy link
Owner Author

EgorBot commented May 29, 2025

Benchmark results on windows_azure_cascadelake

BenchmarkDotNet v0.15.0, Windows 11 (10.0.26100.2314/24H2/2024Update/HudsonValley) (Hyper-V)
azure_cascadelake
  Job-DBHIJX : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
  Job-VHKNIK : .NET 10.0.0 (42.42.42.42424), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
Method Toolchain key Mean Error Ratio
Contains \core_root_base\corerun.exe a 4.734 ns 0.0109 ns 1.00
Contains \core_root_diff\corerun.exe a 5.831 ns 0.0123 ns 1.23
Contains \core_root_base\corerun.exe aaa 4.041 ns 0.0196 ns 1.00
Contains \core_root_diff\corerun.exe aaa 5.574 ns 0.0255 ns 1.38
Contains \core_root_base\corerun.exe aaaaa 4.105 ns 0.0196 ns 1.00
Contains \core_root_diff\corerun.exe aaaaa 6.705 ns 0.0065 ns 1.63
Contains \core_root_base\corerun.exe aaaaaaaa 5.440 ns 0.0194 ns 1.00
Contains \core_root_diff\corerun.exe aaaaaaaa 6.476 ns 0.0118 ns 1.19
Contains \core_root_base\corerun.exe aaaaaaaaaa 4.811 ns 0.0149 ns 1.00
Contains \core_root_diff\corerun.exe aaaaaaaaaa 8.347 ns 0.0328 ns 1.73
Contains \core_root_base\corerun.exe aaaaaaaaaaaaaaaa 6.246 ns 0.0230 ns 1.00
Contains \core_root_diff\corerun.exe aaaaaaaaaaaaaaaa 8.343 ns 0.0229 ns 1.34
Contains \core_root_base\corerun.exe aaaaaaaaaaaaaaaaaaaa 7.567 ns 0.0074 ns 1.00
Contains \core_root_diff\corerun.exe aaaaaaaaaaaaaaaaaaaa 11.139 ns 0.0076 ns 1.47
Contains \core_root_base\corerun.exe aaaaa(...)aaaaa [32] 10.474 ns 0.0270 ns 1.00
Contains \core_root_diff\corerun.exe aaaaa(...)aaaaa [32] 10.528 ns 0.0287 ns 1.01
Contains \core_root_base\corerun.exe aaaaa(...)aaaaa [40] 12.174 ns 0.0291 ns 1.00
Contains \core_root_diff\corerun.exe aaaaa(...)aaaaa [40] 12.697 ns 0.0197 ns 1.04
Contains \core_root_base\corerun.exe aaaaa(...)aaaaa [50] 13.460 ns 0.0087 ns 1.00
Contains \core_root_diff\corerun.exe aaaaa(...)aaaaa [50] 15.064 ns 0.0231 ns 1.12
Contains \core_root_base\corerun.exe aaaa(...)aaaa [100] 25.092 ns 0.0352 ns 1.00
Contains \core_root_diff\corerun.exe aaaa(...)aaaa [100] 21.814 ns 0.0352 ns 0.87
Contains \core_root_base\corerun.exe aaaa(...)aaaa [1000] 260.882 ns 0.0677 ns 1.00
Contains \core_root_diff\corerun.exe aaaa(...)aaaa [1000] 72.293 ns 0.2494 ns 0.28
Contains \core_root_base\corerun.exe aaa(...)aaa [10000] 2,579.390 ns 2.6874 ns 1.00
Contains \core_root_diff\corerun.exe aaa(...)aaa [10000] 567.655 ns 0.1171 ns 0.22

BDN_Artifacts.zip

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