Repository navigation
[Perf -97%] System.Globalization.Tests.StringEquality (8) #39038
Copy link
Copy link
Closed
Labels
arch-x64area-System.GlobalizationenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additionsos-linuxLinux OS (any supported distro)Linux OS (any supported distro)os-windowstenet-performancePerformance related issuePerformance related issuetenet-performance-benchmarksIssue from performance benchmarkIssue from performance benchmark
Milestone
Description
Run Information
| Architecture | x64 |
|---|---|
| OS | Windows 10.0.18362 |
| Changes | diff |
Regressions in System.Globalization.Tests.StringEquality
| Benchmark | Baseline | Test | Test/Base | Modality | Baseline Outlier |
|---|---|---|---|---|---|
| Compare_Same_Upper | 4.72 μs | 8.18 μs | 1.73 | True | |
| Compare_Same_Upper | 9.44 μs | 12.66 μs | 1.34 | False | |
| Compare_Same_Upper | 3.44 μs | 8.16 μs | 2.37 | True | |
| Compare_DifferentFirstChar | 8.21 μs | 25.35 μs | 3.09 | False | |
| Compare_DifferentFirstChar | 6.09 ns | 11.43 ns | 1.88 | Bimodal | True |
| Compare_Same_Upper | 4.71 μs | 8.17 μs | 1.73 | False | |
| Compare_Same_Upper | 3.43 μs | 8.18 μs | 2.38 | False |
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.StringEquality*';Details
Histogram
System.Globalization.Tests.StringEquality.Compare_Same_Upper(Count: 1024, Options: (, None))
[4667.947 ; 5078.079) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[5078.079 ; 5488.210) |
[5488.210 ; 5898.341) |
[5898.341 ; 6308.473) |
[6308.473 ; 6718.604) |
[6718.604 ; 7128.736) |
[7128.736 ; 7538.867) |
[7538.867 ; 7968.920) |
[7968.920 ; 8392.936) | @@@@@@@@@@@@@@@@@@@@
System.Globalization.Tests.StringEquality.Compare_Same_Upper(Count: 1024, Options: (en-US, IgnoreSymbols))
[ 9295.993 ; 9673.903) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 9673.903 ; 10051.812) |
[10051.812 ; 10564.578) | @
[10564.578 ; 10942.487) |
[10942.487 ; 11320.397) |
[11320.397 ; 11698.306) |
[11698.306 ; 12076.216) |
[12076.216 ; 12441.656) |
[12441.656 ; 12864.431) | @@@@@@@@@@@@@@@@@@@@
System.Globalization.Tests.StringEquality.Compare_Same_Upper(Count: 1024, Options: (, IgnoreCase))
[3127.674 ; 3712.307) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[3712.307 ; 4425.064) | @@
[4425.064 ; 4984.410) |
[4984.410 ; 5543.755) |
[5543.755 ; 6103.100) |
[6103.100 ; 6662.446) |
[6662.446 ; 7221.791) |
[7221.791 ; 7886.325) |
[7886.325 ; 8472.382) | @@@@@@@@@@@@@@@@@@@@
System.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (en-US, IgnoreSymbols))
[ 7477.116 ; 9498.049) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 9498.049 ; 11518.983) |
[11518.983 ; 13539.916) |
[13539.916 ; 15560.849) |
[15560.849 ; 17581.783) |
[17581.783 ; 19602.716) |
[19602.716 ; 21623.650) |
[21623.650 ; 23644.583) |
[23644.583 ; 24328.634) |
[24328.634 ; 26409.053) | @@@@@@@@@@@@@@@@@@@@
System.Globalization.Tests.StringEquality.Compare_DifferentFirstChar(Count: 1024, Options: (en-US, Ordinal))
[ 6.003 ; 6.577) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 6.577 ; 6.790) | @@@@@@@
[ 6.790 ; 7.364) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 7.364 ; 7.930) | @@@@@@@@@@@@@@@@@@@@@@@@
[ 7.930 ; 8.504) |
[ 8.504 ; 9.078) |
[ 9.078 ; 9.652) |
[ 9.652 ; 10.226) |
[10.226 ; 10.800) |
[10.800 ; 11.295) | @@
[11.295 ; 11.869) | @@@@@@@@@@@@
[11.869 ; 12.589) | @@@
System.Globalization.Tests.StringEquality.Compare_Same_Upper(Count: 1024, Options: (en-US, None))
[4661.917 ; 5073.742) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[5073.742 ; 5485.568) |
[5485.568 ; 5897.394) |
[5897.394 ; 6309.220) |
[6309.220 ; 6721.045) |
[6721.045 ; 7132.871) |
[7132.871 ; 7544.697) |
[7544.697 ; 7958.333) |
[7958.333 ; 8396.065) | @@@@@@@@@@@@@@@@@@@@
System.Globalization.Tests.StringEquality.Compare_Same_Upper(Count: 1024, Options: (en-US, IgnoreCase))
[3126.500 ; 3713.528) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[3713.528 ; 4413.095) | @
[4413.095 ; 4972.024) |
[4972.024 ; 5530.953) |
[5530.953 ; 6089.882) |
[6089.882 ; 6648.811) |
[6648.811 ; 7207.740) |
[7207.740 ; 7878.870) |
[7878.870 ; 8455.535) | @@@@@@@@@@@@@@@@@@@@
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
arch-x64area-System.GlobalizationenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additionsos-linuxLinux OS (any supported distro)Linux OS (any supported distro)os-windowstenet-performancePerformance related issuePerformance related issuetenet-performance-benchmarksIssue from performance benchmarkIssue from performance benchmark







Activity
safern commentedon Jul 9, 2020
This is due to Windows now using
ICUinstead of NLS.@tarekgh do we want to mark this as 5.0.0?
tarekgh commentedon Jul 9, 2020
@safern I have marked for 5.0 for now. properly later we'll close some of them as duplicates to others and I expect we'll move some to 6.0 with updating the baseline.
safern commentedon Jul 9, 2020
Sounds good.
DrewScoggins commentedon Jul 10, 2020
Also seeing regressions on Ubuntu x64.
DrewScoggins commentedon Jul 10, 2020
Run Information
Regressions in System.Globalization.Tests.StringEquality
Related Issue on x64 Windows
[Perf -97%] System.Globalization.Tests.StringEquality (8)
Related Issue on x86 Windows
[Perf -176%] System.Globalization.Tests.StringEquality (7)
Historical Data in Reporting System
Repro
Details
Histogram
System.Globalization.Tests.StringEquality.Compare_Same(Count: 1024, Options: (en-US, OrdinalIgnoreCase))
System.Globalization.Tests.StringEquality.Compare_Same_Upper(Count: 1024, Options: (en-US, OrdinalIgnoreCase))
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
tarekgh commentedon Jul 10, 2020
Thanks @DrewScoggins. Is this means we have this regression on Linux since February? I am just trying to know what could be the change caused such regression and why this is not reported earlier.
DrewScoggins commentedon Jul 10, 2020
Probably closer to Mid-November. As for why we are finding this now, we haven't really been doing the level of comparison that we are doing now, partly because we didn't have the tooling to do it efficiently. The hope is that going forward we are going to be able to find this stuff much faster.
ericstj commentedon Aug 17, 2020
Is this issue tracking the Windows regression or Linux? If Windows I imagine we could just use the uber-ICU regression issue (#40942) for tracking, if linux, please make that clear in title and indicate Windows issue is out of scope.
adamsitnik commentedon Aug 17, 2020
I've confirmed that it's related to ICU change, closing this and adding to #40942