Skip to content

[Perf up to -44%] System.Globalization.Tests.StringHash regression on Windows due to change to ICU #37806

@DrewScoggins

Description

@DrewScoggins

Run Information

Architecture x64
OS Windows 10.0.18362
Changes diff

Regressions in System.Globalization.Tests.StringHash

Benchmark Baseline Test Test/Base Modality Baseline Outlier
GetHashCode 2.04 μs 2.57 μs 1.26 True
GetHashCode 2.04 μs 2.56 μs 1.26 False

graph
graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Globalization.Tests.StringHash*';

Histogram

System.Globalization.Tests.StringHash.GetHashCode(Count: 128, Options: (en-US, None))

[1990.277 ; 2055.859) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2055.859 ; 2128.177) | @@@@@@
[2128.177 ; 2216.432) | @@
[2216.432 ; 2282.014) | 
[2282.014 ; 2347.595) | 
[2347.595 ; 2413.177) | 
[2413.177 ; 2478.759) | 
[2478.759 ; 2556.059) | @@
[2556.059 ; 2621.641) | @@@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringHash.GetHashCode(Count: 128, Options: (, None))

[1982.547 ; 2049.339) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[2049.339 ; 2100.801) | @@@@@@
[2100.801 ; 2172.655) | @
[2172.655 ; 2239.447) | @@
[2239.447 ; 2306.240) | 
[2306.240 ; 2373.032) | 
[2373.032 ; 2439.824) | 
[2439.824 ; 2544.466) | 
[2544.466 ; 2660.679) | @@@@@@@@@@@@@@@@@@@@

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions