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

[Perf] Changes at 12/2/2020 1:02:04 AM #3598

Closed
performanceautofiler bot opened this issue Dec 8, 2020 · 0 comments
Closed

[Perf] Changes at 12/2/2020 1:02:04 AM #3598

performanceautofiler bot opened this issue Dec 8, 2020 · 0 comments

Comments

@performanceautofiler
Copy link

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Tests.Perf_Int32

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ParseHex 17.34 ns 15.83 ns 0.91
ParseSpan 22.43 ns 19.66 ns 0.88
ParseHex 23.41 ns 20.60 ns 0.88
ParseSpan 23.23 ns 19.79 ns 0.85

graph
graph
graph
graph
Historical Data in Reporting System

Repro

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

.

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Int32.ParseHex(value: "3039")

[15.453 ; 15.958) | @@@@@@@@@@@@@
[15.958 ; 16.409) | @@@@@@@@@@@@@@@
[16.409 ; 16.774) | @@@@@@@@@@@@@@@@@@@@@@
[16.774 ; 17.376) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[17.376 ; 17.829) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[17.829 ; 18.418) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[18.418 ; 18.954) | @@@@@@@@@@@@@@
[18.954 ; 19.402) | 
[19.402 ; 19.851) | 
[19.851 ; 20.300) | 
[20.300 ; 20.749) | 
[20.749 ; 21.449) | @

System.Tests.Perf_Int32.ParseSpan(value: "2147483647")

[19.502 ; 20.160) | @
[20.160 ; 20.779) | @@@@@@
[20.779 ; 21.285) | @@@@@@@@
[21.285 ; 21.754) | @@@@@@@@@@@@@@@@@@@@@
[21.754 ; 22.560) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[22.560 ; 23.410) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[23.410 ; 23.941) | @@@@@@@@@@@
[23.941 ; 24.668) | @@@@@@
[24.668 ; 25.497) | @@@@@@@@
[25.497 ; 26.112) | 
[26.112 ; 26.727) | 
[26.727 ; 27.341) | 
[27.341 ; 28.799) | @@@

System.Tests.Perf_Int32.ParseHex(value: "80000000")

[19.188 ; 19.902) | @@@@@@@@@
[19.902 ; 20.546) | @@@@@@@
[20.546 ; 21.278) | @@@@@@@@@
[21.278 ; 21.985) | @@
[21.985 ; 22.458) | @@@@@
[22.458 ; 23.371) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[23.371 ; 24.262) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[24.262 ; 24.986) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[24.986 ; 25.698) | 
[25.698 ; 26.863) | @

System.Tests.Perf_Int32.ParseSpan(value: "-2147483648")

[19.649 ; 20.262) | @
[20.262 ; 20.748) | 
[20.748 ; 21.414) | @@@@@@@
[21.414 ; 21.987) | @@@@@@@@@@@@@@@@@@@@@@@
[21.987 ; 22.790) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[22.790 ; 23.626) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[23.626 ; 24.316) | @@@@@@@@@@@@@@@@@@@@@@@
[24.316 ; 25.180) | @@@@@@
[25.180 ; 25.734) | 
[25.734 ; 26.578) | @
[26.578 ; 27.220) | @
[27.220 ; 27.775) | 
[27.775 ; 28.329) | 
[28.329 ; 28.883) | 
[28.883 ; 29.437) | 
[29.437 ; 29.991) | 
[29.991 ; 30.764) | @

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Tests.Perf_DateTimeOffset

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ToString 50.60 ns 44.69 ns 0.88

graph
Historical Data in Reporting System

Repro

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

.

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_DateTimeOffset.ToString(format: "r")

[42.134 ; 43.217) | @@@@@
[43.217 ; 44.882) | @@@@@@@@@@@@@@@@@@@@
[44.882 ; 45.951) | @
[45.951 ; 47.044) | 
[47.044 ; 48.503) | @@
[48.503 ; 50.251) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[50.251 ; 51.561) | @@@@@@@@@@@@@@@@@@@@@
[51.561 ; 53.316) | @

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Tests.Perf_Int64

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ParseSpan 32.85 ns 28.21 ns 0.86
TryParse 29.68 ns 25.99 ns 0.88
Parse 30.83 ns 27.09 ns 0.88
Parse 31.17 ns 27.04 ns 0.87
Parse 15.73 ns 14.41 ns 0.92
ParseSpan 32.65 ns 27.70 ns 0.85
TryParseSpan 30.35 ns 26.65 ns 0.88
ParseSpan 16.87 ns 15.06 ns 0.89
TryParse 30.11 ns 26.20 ns 0.87
TryParseSpan 30.03 ns 25.98 ns 0.87

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Historical Data in Reporting System

Repro

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

.

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Int64.ParseSpan(value: "-9223372036854775808")

[27.574 ; 28.625) | @@@@@@@@@@@@@
[28.625 ; 29.723) | @@@@@@@@@@@@@
[29.723 ; 30.762) | 
[30.762 ; 31.871) | 
[31.871 ; 32.922) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[32.922 ; 34.216) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[34.216 ; 35.111) | @@@@@
[35.111 ; 35.938) | @@@
[35.938 ; 37.183) | @@
[37.183 ; 38.222) | 
[38.222 ; 39.261) | 
[39.261 ; 40.300) | 
[40.300 ; 41.339) | 
[41.339 ; 42.378) | 
[42.378 ; 43.417) | 
[43.417 ; 44.456) | 
[44.456 ; 45.495) | 
[45.495 ; 46.534) | 
[46.534 ; 47.573) | 
[47.573 ; 48.612) | 
[48.612 ; 49.941) | @

System.Tests.Perf_Int64.TryParse(value: "9223372036854775807")

[25.254 ; 25.861) | @@@@@@@@
[25.861 ; 26.453) | @@@@@@@@@@
[26.453 ; 27.389) | @@@@@@@@
[27.389 ; 28.405) | 
[28.405 ; 29.093) | @@
[29.093 ; 29.924) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[29.924 ; 30.968) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[30.968 ; 32.113) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[32.113 ; 33.366) | @@@@@@@@@
[33.366 ; 34.825) | @@@@@

System.Tests.Perf_Int64.Parse(value: "9223372036854775807")

[26.386 ; 27.458) | @@@@@@@@@@@@@@@@@@@@@@
[27.458 ; 28.249) | @@@@
[28.249 ; 29.072) | 
[29.072 ; 29.895) | 
[29.895 ; 30.656) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[30.656 ; 31.795) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[31.795 ; 32.693) | @@@@@@@@@@@@@@@@@
[32.693 ; 34.039) | @@@@@@@@@@
[34.039 ; 35.004) | @@
[35.004 ; 36.635) | @

System.Tests.Perf_Int64.Parse(value: "-9223372036854775808")

[26.342 ; 27.107) | @@@@@
[27.107 ; 28.101) | @@@@@@@@@@@@@@@@@@@@@
[28.101 ; 28.950) | 
[28.950 ; 29.798) | 
[29.798 ; 30.552) | 
[30.552 ; 31.617) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[31.617 ; 32.666) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[32.666 ; 33.625) | @@@@@@@
[33.625 ; 34.413) | @@@@
[34.413 ; 36.091) | @@@@

System.Tests.Perf_Int64.Parse(value: "12345")

[13.858 ; 14.344) | @@@@@@@@@@@@
[14.344 ; 14.756) | @@@@@@@@@@
[14.756 ; 15.351) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[15.351 ; 15.667) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[15.667 ; 16.161) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[16.161 ; 16.812) | @@@@@@@@@@@@@@@@@@@@@@
[16.812 ; 17.318) | @@@@
[17.318 ; 17.877) | @@

System.Tests.Perf_Int64.ParseSpan(value: "9223372036854775807")

[27.317 ; 28.194) | @@@@@
[28.194 ; 29.229) | @@@@@@@@@@@@@@@@@@@
[29.229 ; 29.961) | 
[29.961 ; 30.693) | 
[30.693 ; 31.577) | 
[31.577 ; 32.633) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[32.633 ; 33.309) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[33.309 ; 34.394) | @@@@@@@@@
[34.394 ; 35.743) | @

System.Tests.Perf_Int64.TryParseSpan(value: "-9223372036854775808")

[26.232 ; 27.232) | @@@@@@@@@@@@@@@@@@@
[27.232 ; 27.984) | @@@@@@@
[27.984 ; 28.755) | 
[28.755 ; 29.666) | 
[29.666 ; 30.755) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[30.755 ; 31.715) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[31.715 ; 32.998) | @@@@@@@@@@
[32.998 ; 34.377) | @@@@@
[34.377 ; 35.107) | @
[35.107 ; 36.236) | @

System.Tests.Perf_Int64.ParseSpan(value: "12345")

[14.983 ; 15.468) | @@
[15.468 ; 15.797) | @@@@@@@
[15.797 ; 16.277) | @@@@@@@@@
[16.277 ; 16.769) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[16.769 ; 17.356) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[17.356 ; 17.730) | @@@@@@@
[17.730 ; 18.351) | @@@@@@@@
[18.351 ; 18.933) | @@@@@
[18.933 ; 19.489) | @@

System.Tests.Perf_Int64.TryParse(value: "-9223372036854775808")

[25.568 ; 26.112) | @@@@@@
[26.112 ; 27.048) | @@@@@@@@@@@@@@@@@@@@
[27.048 ; 28.082) | 
[28.082 ; 28.994) | 
[28.994 ; 30.094) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[30.094 ; 31.296) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[31.296 ; 32.464) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[32.464 ; 33.328) | @@@@@@@@@@@@
[33.328 ; 34.213) | @@
[34.213 ; 35.068) | @
[35.068 ; 35.799) | @

System.Tests.Perf_Int64.TryParseSpan(value: "9223372036854775807")

[25.779 ; 26.685) | @@@@@@@@@@@
[26.685 ; 27.562) | @@@@@@@@@@@@@@@
[27.562 ; 28.372) | 
[28.372 ; 29.182) | 
[29.182 ; 29.777) | @@@@@@@@@@
[29.777 ; 30.876) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[30.876 ; 31.997) | @@@@@@@@@@@@@@
[31.997 ; 32.780) | @@@@
[32.780 ; 33.691) | @@
[33.691 ; 34.777) | @
[34.777 ; 35.587) | 
[35.587 ; 36.397) | 
[36.397 ; 37.599) | @@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Tests.Perf_UInt16

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Parse 15.63 ns 14.12 ns 0.90

Related Issue on x64 Windows

[Perf 29%] System.Tests.Perf_UInt16 (2)

graph
Historical Data in Reporting System

Repro

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

.

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_UInt16.Parse(value: "12345")

[12.702 ; 13.113) | @@@@@@
[13.113 ; 13.611) | @@@@@@@@@@@@@@
[13.611 ; 13.920) | @@@@@
[13.920 ; 14.397) | @@@@@@@@@@@@@@@@@@@@@@@@@
[14.397 ; 14.897) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[14.897 ; 15.449) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[15.449 ; 16.086) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in Span.IndexerBench

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
WriteViaIndexer1 1.28 μs 1.20 μs 0.94
Fixed2 898.58 ns 452.69 ns 0.50
SameIndex1 897.65 ns 628.46 ns 0.70
CoveredIndex3 1.35 μs 847.80 ns 0.63
Fixed1 899.98 ns 447.21 ns 0.50
WriteViaIndexer2 898.12 ns 484.84 ns 0.54

graph
graph
graph
graph
graph
graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'Span.IndexerBench*'

.

Payloads

Baseline
Compare

Histogram

Span.IndexerBench.WriteViaIndexer1(length: 1024)

[1191.274 ; 1216.177) | @@@@@@@@@@@@@@@@@@@@@@@@@@
[1216.177 ; 1244.667) | 
[1244.667 ; 1286.933) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1286.933 ; 1323.737) | @@@
[1323.737 ; 1358.535) | @

Span.IndexerBench.Fixed2(length: 1024)

[421.838 ; 475.473) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[475.473 ; 525.494) | 
[525.494 ; 575.515) | 
[575.515 ; 625.536) | 
[625.536 ; 675.557) | 
[675.557 ; 725.577) | 
[725.577 ; 775.598) | 
[775.598 ; 825.619) | 
[825.619 ; 875.640) | 
[875.640 ; 936.296) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Span.IndexerBench.SameIndex1(length: 1024)

[548.031 ; 581.587) | @@@@@@@@@@@@@@@@@@
[581.587 ; 611.573) | 
[611.573 ; 645.129) | @@@@@@@@@@@@@@@@@@@@@@@@@@
[645.129 ; 678.685) | 
[678.685 ; 712.241) | 
[712.241 ; 745.797) | 
[745.797 ; 779.354) | 
[779.354 ; 812.910) | 
[812.910 ; 846.466) | 
[846.466 ; 880.022) | 
[880.022 ; 920.946) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Span.IndexerBench.CoveredIndex3(length: 1024)

[ 816.109 ;  876.237) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 876.237 ;  933.888) | 
[ 933.888 ;  991.539) | 
[ 991.539 ; 1049.190) | 
[1049.190 ; 1106.841) | 
[1106.841 ; 1164.493) | 
[1164.493 ; 1222.144) | 
[1222.144 ; 1279.795) | 
[1279.795 ; 1327.276) | 
[1327.276 ; 1395.950) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Span.IndexerBench.Fixed1(length: 1024)

[422.821 ; 474.239) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[474.239 ; 522.277) | 
[522.277 ; 570.316) | 
[570.316 ; 618.355) | 
[618.355 ; 666.393) | 
[666.393 ; 714.432) | 
[714.432 ; 762.471) | 
[762.471 ; 810.509) | 
[810.509 ; 858.548) | 
[858.548 ; 878.618) | 
[878.618 ; 933.163) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Span.IndexerBench.WriteViaIndexer2(length: 1024)

[451.114 ; 496.119) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[496.119 ; 541.124) | 
[541.124 ; 586.129) | 
[586.129 ; 631.134) | 
[631.134 ; 676.139) | 
[676.139 ; 721.144) | 
[721.144 ; 766.149) | 
[766.149 ; 811.154) | 
[811.154 ; 856.158) | 
[856.158 ; 888.883) | 
[888.883 ; 933.888) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Tests.Perf_Guid

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ParseExactD 67.28 ns 52.82 ns 0.79
Parse 74.46 ns 58.99 ns 0.79
ctor_str 73.97 ns 57.32 ns 0.77

Related Issue on x64 Windows

[Perf 65%] System.Tests.Perf_Guid.TryWriteBytes

graph
graph
graph
Historical Data in Reporting System

Repro

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

.

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_Guid.ParseExactD

[50.506 ; 52.482) | @@@@@@
[52.482 ; 54.627) | @@@@@@@@@@@@@@@@@@@@
[54.627 ; 56.773) | 
[56.773 ; 58.918) | 
[58.918 ; 61.064) | 
[61.064 ; 63.209) | 
[63.209 ; 65.338) | 
[65.338 ; 66.782) | @@@@@@@
[66.782 ; 68.928) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[68.928 ; 70.718) | @@@
[70.718 ; 73.006) | 
[73.006 ; 74.505) | @@@@@@@@@@@@@@@@@@@@@@@@@@@
[74.505 ; 76.650) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[76.650 ; 78.550) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Tests.Perf_Guid.Parse

[56.510 ; 57.876) | @
[57.876 ; 60.000) | @@@@@@@@@@@@@@@@@@@@@@@
[60.000 ; 62.489) | 
[62.489 ; 64.613) | @@
[64.613 ; 66.737) | 
[66.737 ; 68.861) | 
[68.861 ; 71.064) | 
[71.064 ; 74.630) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[74.630 ; 76.375) | @@@@@@
[76.375 ; 78.499) | 
[78.499 ; 81.068) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[81.068 ; 84.565) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Tests.Perf_Guid.ctor_str

[57.168 ;  59.328) | @@@@@@@@@@@@@@@@@@@@@@@
[59.328 ;  61.638) | @@
[61.638 ;  63.798) | 
[63.798 ;  65.958) | 
[65.958 ;  68.117) | 
[68.117 ;  70.643) | 
[70.643 ;  74.129) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[74.129 ;  75.893) | @@@@@@@@@
[75.893 ;  77.842) | @
[77.842 ;  79.841) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[79.841 ;  82.001) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[82.001 ;  84.625) | @@@@@@@@@@@@@@@@@@@@@@@@@
[84.625 ;  86.785) | @
[86.785 ;  88.945) | 
[88.945 ;  91.104) | 
[91.104 ;  93.264) | 
[93.264 ;  95.424) | 
[95.424 ;  98.896) | @
[98.896 ; 101.500) | @

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Globalization.Tests.StringSearch

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IsSuffix_DifferentLastChar 13.54 ns 11.09 ns 0.82
IsSuffix_SecondHalf 260.59 ns 207.51 ns 0.80
IsSuffix_SecondHalf 260.44 ns 208.85 ns 0.80
IsPrefix_FirstHalf 234.84 ns 161.35 ns 0.69
IsSuffix_DifferentLastChar 13.46 ns 11.19 ns 0.83
IsPrefix_DifferentFirstChar 13.99 ns 11.56 ns 0.83
IsSuffix_DifferentLastChar 13.54 ns 11.15 ns 0.82
IsPrefix_DifferentFirstChar 13.54 ns 11.72 ns 0.87
IsSuffix_SecondHalf 10.90 ns 9.83 ns 0.90
IsSuffix_DifferentLastChar 14.03 ns 11.36 ns 0.81
IsPrefix_DifferentFirstChar 13.60 ns 11.73 ns 0.86
IsPrefix_DifferentFirstChar 14.04 ns 11.53 ns 0.82
IsSuffix_DifferentLastChar 14.17 ns 11.44 ns 0.81
IsPrefix_DifferentFirstChar 13.91 ns 11.11 ns 0.80

Related Issue on x64 Windows

[Perf 23%] System.Globalization.Tests.StringSearch (16)

Related Issue on x86 Windows

[Perf 20%] System.Globalization.Tests.StringSearch (16)

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Historical Data in Reporting System

Repro

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

.

Payloads

Baseline
Compare

Histogram

System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (en-US, IgnoreNonSpace, False))

[11.028 ; 11.397) | @@@@@@@@@@@@@@@@@@@@@@
[11.397 ; 11.797) | @@@@
[11.797 ; 12.209) | 
[12.209 ; 12.621) | 
[12.621 ; 13.034) | 
[13.034 ; 13.370) | @
[13.370 ; 13.891) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[13.891 ; 14.373) | @@@

System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (, IgnoreCase, False))

[206.206 ; 210.757) | @@@@@@@@@@@@@@@@@@@@@@@@@@
[210.757 ; 215.307) | 
[215.307 ; 219.858) | 
[219.858 ; 224.408) | 
[224.408 ; 228.959) | 
[228.959 ; 233.509) | 
[233.509 ; 238.060) | 
[238.060 ; 242.610) | 
[242.610 ; 247.161) | 
[247.161 ; 251.711) | 
[251.711 ; 262.765) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, IgnoreCase, False))

[206.234 ; 210.777) | @@@@@@@@@@@@@@@@@@@@@@@@@@
[210.777 ; 215.321) | 
[215.321 ; 219.864) | 
[219.864 ; 224.407) | 
[224.407 ; 228.951) | 
[228.951 ; 233.494) | 
[233.494 ; 238.037) | 
[238.037 ; 242.581) | 
[242.581 ; 247.124) | 
[247.124 ; 251.667) | 
[251.667 ; 262.733) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (, IgnoreCase, False))

[157.255 ; 165.417) | @@@@@@@@@@@
[165.417 ; 172.962) | 
[172.962 ; 181.961) | 
[181.961 ; 189.506) | @@@@@@@@@@@@@
[189.506 ; 197.050) | 
[197.050 ; 204.595) | 
[204.595 ; 212.140) | 
[212.140 ; 219.685) | 
[219.685 ; 227.229) | 
[227.229 ; 231.829) | 
[231.829 ; 239.374) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[239.374 ; 246.919) | 
[246.919 ; 256.270) | 
[256.270 ; 264.579) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (en-US, None, False))

[11.021 ; 11.452) | @@@@@@@@@@@@@@@@@@@@@@
[11.452 ; 11.765) | @@@
[11.765 ; 12.112) | @
[12.112 ; 12.529) | 
[12.529 ; 12.946) | 
[12.946 ; 13.381) | @@@
[13.381 ; 13.873) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[13.873 ; 14.329) | @@@

System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, IgnoreNonSpace, False))

[11.004 ; 11.241) | @@@@@@@@@@@@
[11.241 ; 11.624) | @@@@@@@@@@@@
[11.624 ; 12.046) | @
[12.046 ; 12.433) | @
[12.433 ; 12.908) | 
[12.908 ; 13.384) | 
[13.384 ; 13.812) | @@@@@@@@@@@@
[13.812 ; 14.608) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (, None, False))

[11.022 ; 11.314) | @@@@@@@@@@@@@@@@@@@@@@
[11.314 ; 11.752) | @@@
[11.752 ; 12.167) | 
[12.167 ; 12.583) | 
[12.583 ; 12.999) | 
[12.999 ; 13.390) | @@
[13.390 ; 13.908) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[13.908 ; 14.292) | @@

System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (, IgnoreCase, False))

[11.354 ; 11.756) | @@@@@@@@@@@@@@@@@@@@@@@@
[11.756 ; 12.114) | @
[12.114 ; 12.481) | 
[12.481 ; 12.847) | 
[12.847 ; 13.214) | 
[13.214 ; 13.503) | @@@@@@@@@@@@@@
[13.503 ; 13.993) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[13.993 ; 14.589) | @@@@@@@@@

System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, Ordinal, False))

[ 9.617 ;  9.971) | @@@@@@@@@@@@@@@
[ 9.971 ; 10.298) | @@@@@@
[10.298 ; 10.586) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[10.586 ; 10.815) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[10.815 ; 11.204) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[11.204 ; 11.645) | @@@@@@@@@@@@@@@@@@@@@@@@@@@
[11.645 ; 12.180) | @@@@@@

System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (, IgnoreCase, False))

[11.252 ; 11.498) | @@@@@@@@@@@@@@@@@@@@@@@@
[11.498 ; 11.933) | @
[11.933 ; 12.344) | 
[12.344 ; 12.839) | @
[12.839 ; 13.331) | 
[13.331 ; 13.784) | @@@
[13.784 ; 14.564) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, IgnoreCase, False))

[11.375 ; 11.821) | @@@@@@@@@@@@@@@@@@@@@@
[11.821 ; 12.073) | @@@
[12.073 ; 12.439) | 
[12.439 ; 12.805) | 
[12.805 ; 13.175) | 
[13.175 ; 13.516) | @@@@@@@@@@@@@@@@@@@@@@@@
[13.516 ; 14.028) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[14.028 ; 14.513) | @@@@@@@@

System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (, None, False))

[11.002 ; 11.234) | @@@@@@@@@@
[11.234 ; 11.623) | @@@@@@@@@@@@@@@
[11.623 ; 11.855) | 
[11.855 ; 12.087) | 
[12.087 ; 12.319) | 
[12.319 ; 12.551) | 
[12.551 ; 12.783) | 
[12.783 ; 13.015) | 
[13.015 ; 13.247) | 
[13.247 ; 13.479) | 
[13.479 ; 13.837) | @@@@@@@@@@@@@@@@@@@
[13.837 ; 14.591) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (en-US, IgnoreCase, False))

[11.290 ; 11.535) | @@@@@@@@@@@@@@@@@@@@@@@@
[11.535 ; 11.954) | @
[11.954 ; 12.304) | @
[12.304 ; 12.549) | 
[12.549 ; 12.794) | 
[12.794 ; 13.039) | 
[13.039 ; 13.471) | 
[13.471 ; 13.794) | @@
[13.794 ; 14.548) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, None, False))

[11.081 ; 11.314) | @@@@@@@@@
[11.314 ; 11.600) | @@@@@@@@@@@@@@@@
[11.600 ; 11.893) | 
[11.893 ; 12.365) | @
[12.365 ; 12.830) | 
[12.830 ; 13.296) | 
[13.296 ; 13.633) | 
[13.633 ; 14.096) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[14.096 ; 14.555) | @@@@@@@@@@@@@@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Text.Json.Tests.Perf_Strings

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
WriteStringsUtf16 11.21 ms 9.91 ms 0.88
WriteStringsUtf8 8.84 ms 7.58 ms 0.86
WriteStringsUtf16 11.48 ms 10.27 ms 0.89
WriteStringsUtf8 8.32 ms 7.03 ms 0.84
WriteStringsUtf16 11.69 ms 10.79 ms 0.92
WriteStringsUtf16 11.89 ms 10.72 ms 0.90
WriteStringsUtf8 8.83 ms 7.77 ms 0.88
WriteStringsUtf8 8.62 ms 7.22 ms 0.84
WriteStringsUtf16 7.51 ms 7.09 ms 0.94

graph
graph
graph
graph
graph
graph
graph
graph
graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Text.Json.Tests.Perf_Strings*'

.

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: True, Escaped: OneEscaped)

[ 9848500.324 ; 10201658.776) | @@@@@@@@@@@
[10201658.776 ; 10483604.658) | @@@@@@@@@@@@@@@
[10483604.658 ; 10896822.843) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[10896822.843 ; 11181597.408) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[11181597.408 ; 11587204.587) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[11587204.587 ; 12028086.818) | @@@@@@
[12028086.818 ; 12320922.527) | @@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: True, Escaped: OneEscaped)

[7427016.702 ; 7655989.414) | @@@@@@@@@@@@@@@@@@@@@@@@@
[7655989.414 ; 7901385.352) | 
[7901385.352 ; 8096127.232) | @
[8096127.232 ; 8408892.486) | @@@@@@@@@@@@@@@@@@@@
[8408892.486 ; 8599064.598) | @
[8599064.598 ; 8917188.443) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[8917188.443 ; 9231966.989) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: False, Escaped: OneEscaped)

[10207022.598 ; 10527660.620) | @@@@@@@@@@@@@@
[10527660.620 ; 10752500.943) | @@@@@@@@@@@@
[10752500.943 ; 11042934.057) | @@@@@@@@@@@@@@@@@@
[11042934.057 ; 11481692.281) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[11481692.281 ; 11800455.771) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[11800455.771 ; 12320218.713) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: True, Escaped: OneEscaped)

[6879198.157 ; 7133473.097) | @@@@@@@@@@@@@@@@@@@@@@
[7133473.097 ; 7401520.577) | @@@
[7401520.577 ; 7658770.958) | 
[7658770.958 ; 7893439.405) | @@@@@@@@@@@@@@@
[7893439.405 ; 8205634.993) | @@@@@@@@@@@@@@@@@@@@@@@
[8205634.993 ; 8508128.938) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[8508128.938 ; 8782537.976) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: False, Escaped: OneEscaped)

[10583925.388 ; 10876299.023) | @@@@@@@@@@@@@@@@@@@@
[10876299.023 ; 11151568.253) | @@@@@@
[11151568.253 ; 11502817.314) | @@@@@@@@@@@@@@@@
[11502817.314 ; 11923259.496) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[11923259.496 ; 12203912.855) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[12203912.855 ; 12494387.752) | @@@@@@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: True, Escaped: OneEscaped)

[10419200.901 ; 10711612.908) | @@@@@@@@@@@@@@@@@@@@@@@@
[10711612.908 ; 10970168.955) | @@
[10970168.955 ; 11386291.906) | @@@@@@@@@@@@@@@@@
[11386291.906 ; 11731291.871) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[11731291.871 ; 12155066.481) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[12155066.481 ; 12465575.621) | @@@@@@@@@@
[12465575.621 ; 12893429.589) | @

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: False, Escaped: OneEscaped)

[ 7717129.692 ;  7965107.067) | @@@@@@@@@@@@@@@@@@@@@@@@@
[ 7965107.067 ;  8182099.522) | 
[ 8182099.522 ;  8470676.406) | @@@
[ 8470676.406 ;  8740511.138) | @@@@@@@@@@@@@@@@@@@@@@
[ 8740511.138 ;  9061160.995) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 9061160.995 ;  9350266.305) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 9350266.305 ;  9588534.871) | @
[ 9588534.871 ;  9805527.325) | 
[ 9805527.325 ; 10022519.779) | 
[10022519.779 ; 10370577.719) | @

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: False, Escaped: OneEscaped)

[7073191.046 ; 7303195.447) | @@@@@@@@@@@@@@@@@@@@@
[7303195.447 ; 7558627.158) | @@@@@
[7558627.158 ; 7822265.268) | 
[7822265.268 ; 8124419.119) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[8124419.119 ; 8308087.557) | @@@@@@@@@@@@@@@
[8308087.557 ; 8516342.444) | @@@@@@@@@@@@@@@@@@@@
[8516342.444 ; 9001941.960) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: True, Escaped: NoneEscaped)

[7012756.357 ; 7220264.074) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[7220264.074 ; 7390547.192) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[7390547.192 ; 7778985.103) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Tests.Perf_UInt64

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryParse 31.01 ns 24.88 ns 0.80
ParseSpan 33.02 ns 25.83 ns 0.78
Parse 32.26 ns 24.93 ns 0.77

graph
graph
graph
Historical Data in Reporting System

Repro

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

.

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_UInt64.TryParse(value: "18446744073709551615")

[23.800 ; 24.929) | @@@@@@@@@@@@@@@@@
[24.929 ; 25.731) | @@@@@@@
[25.731 ; 26.814) | @
[26.814 ; 27.468) | 
[27.468 ; 28.123) | 
[28.123 ; 28.778) | 
[28.778 ; 29.433) | 
[29.433 ; 30.202) | @
[30.202 ; 30.884) | @@@@@@@@@@@@@@@@@@@@@@@
[30.884 ; 32.164) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[32.164 ; 32.821) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[32.821 ; 34.068) | @@@@@@@@@@@@@@@@@
[34.068 ; 35.410) | @@@@@

System.Tests.Perf_UInt64.ParseSpan(value: "18446744073709551615")

[25.460 ; 26.048) | @@
[26.048 ; 26.617) | @@@@@@@
[26.617 ; 27.178) | @@@@@@@@@@@@@
[27.178 ; 28.201) | @@@
[28.201 ; 28.763) | 
[28.763 ; 29.324) | 
[29.324 ; 29.885) | 
[29.885 ; 30.446) | 
[30.446 ; 31.007) | 
[31.007 ; 31.569) | 
[31.569 ; 32.399) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[32.399 ; 33.566) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[33.566 ; 34.881) | @@@@@@@
[34.881 ; 36.146) | 
[36.146 ; 37.571) | @@@
[37.571 ; 38.385) | @

System.Tests.Perf_UInt64.Parse(value: "18446744073709551615")

[24.522 ; 25.555) | @@@@@@
[25.555 ; 26.124) | @@@@@@@@@@@@@@
[26.124 ; 26.984) | @@@@
[26.984 ; 27.553) | 
[27.553 ; 28.444) | @
[28.444 ; 29.013) | 
[29.013 ; 29.582) | 
[29.582 ; 30.152) | 
[30.152 ; 30.721) | 
[30.721 ; 31.531) | @@@@@@@@@@@@@@@@@@@@@@@@@
[31.531 ; 32.763) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[32.763 ; 33.919) | @@@@@@@@@@@@
[33.919 ; 34.683) | @@@
[34.683 ; 35.619) | @@
[35.619 ; 36.647) | @

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Buffers.Text.Tests.Utf8ParserTests

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryParseUInt64 18.41 ns 12.52 ns 0.68
TryParseDateTimeOffset 10.80 ns 9.28 ns 0.86
TryParseUInt32Hex 11.23 ns 8.22 ns 0.73

Related Issue on x64 Windows

[Perf 6%] System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt64

Related Issue on x86 Windows

[Perf 16%] System.Buffers.Text.Tests.Utf8ParserTests.TryParseDateTimeOffset

graph
graph
graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Buffers.Text.Tests.Utf8ParserTests*'

.

Payloads

Baseline
Compare

Histogram

System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt64(value: 18446744073709551615)

[11.892 ; 13.010) | @@@@@@@@@@@@@@@@@@@@@@@@@
[13.010 ; 14.129) | 
[14.129 ; 14.578) | 
[14.578 ; 15.696) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[15.696 ; 16.811) | @
[16.811 ; 17.930) | 
[17.930 ; 19.420) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[19.420 ; 20.539) | 
[20.539 ; 21.658) | 
[21.658 ; 22.310) | 
[22.310 ; 23.429) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Buffers.Text.Tests.Utf8ParserTests.TryParseDateTimeOffset(value: 12/30/2017 3:45:22 AM -08:00)

[ 8.917 ;  9.227) | @@@
[ 9.227 ;  9.511) | @@@@@@@@@@@@
[ 9.511 ;  9.831) | @@
[ 9.831 ; 10.116) | @@@@@@@@
[10.116 ; 10.400) | 
[10.400 ; 10.732) | @@@
[10.732 ; 11.016) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[11.016 ; 11.320) | @@@@@@@@
[11.320 ; 11.624) | @
[11.624 ; 11.908) | @@@
[11.908 ; 12.222) | @@@@
[12.222 ; 12.506) | @@@@@@@@@@@@@@@@
[12.506 ; 12.790) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[12.790 ; 13.135) | @
[13.135 ; 13.426) | @

System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt32Hex(value: FFFFFFFFFFFFFFFF)

[ 8.095 ;  8.355) | @
[ 8.355 ;  8.615) | 
[ 8.615 ;  8.875) | 
[ 8.875 ;  9.240) | @@@@@@@
[ 9.240 ;  9.673) | @@@@@@@@@@@
[ 9.673 ;  9.935) | @@@@@
[ 9.935 ; 10.196) | 
[10.196 ; 10.456) | 
[10.456 ; 10.716) | 
[10.716 ; 11.150) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[11.150 ; 11.410) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[11.410 ; 11.645) | @@@@@
[11.645 ; 11.905) | @@@
[11.905 ; 12.239) | 
[12.239 ; 12.591) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[12.591 ; 13.137) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Text.Json.Tests.Perf_Guids

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
WriteGuids 4.24 ms 3.72 ms 0.88
WriteGuids 4.67 ms 3.92 ms 0.84
WriteGuids 4.39 ms 3.78 ms 0.86

graph
graph
graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Text.Json.Tests.Perf_Guids*'

.

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Guids.WriteGuids(Formatted: False, SkipValidation: True)

[3702159.915 ; 3835057.574) | @@@@@@@@@@@@@@@@@@@@@@@@@
[3835057.574 ; 3940994.324) | 
[3940994.324 ; 4046931.073) | 
[4046931.073 ; 4152867.823) | 
[4152867.823 ; 4278365.713) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[4278365.713 ; 4418460.474) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[4418460.474 ; 4551386.860) | @
[4551386.860 ; 4657323.609) | 
[4657323.609 ; 4763260.359) | 
[4763260.359 ; 4958642.841) | @@

System.Text.Json.Tests.Perf_Guids.WriteGuids(Formatted: True, SkipValidation: True)

[3909464.168 ; 4057105.454) | @@@@@@@@@@@@@@@@@@@@@@@@@
[4057105.454 ; 4199381.570) | 
[4199381.570 ; 4341657.685) | 
[4341657.685 ; 4483933.800) | 
[4483933.800 ; 4598072.512) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[4598072.512 ; 4700160.583) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[4700160.583 ; 4860687.051) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[4860687.051 ; 5002963.166) | 
[5002963.166 ; 5166947.325) | 
[5166947.325 ; 5276882.843) | @@@

System.Text.Json.Tests.Perf_Guids.WriteGuids(Formatted: False, SkipValidation: False)

[3773993.974 ; 3900736.189) | @@@@@@@@@@@@@@@@@@@@@@@@@
[3900736.189 ; 4001736.013) | 
[4001736.013 ; 4102735.837) | 
[4102735.837 ; 4203735.662) | 
[4203735.662 ; 4303214.470) | @@@@@@@@@@@@@@@@@@@@@@@@
[4303214.470 ; 4457868.988) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[4457868.988 ; 4558868.813) | 
[4558868.813 ; 4659868.637) | 
[4659868.637 ; 4760868.461) | 
[4760868.461 ; 4982227.678) | @@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Net.Tests.Perf_WebUtility

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
HtmlDecode_Entities 168.62 ns 154.36 ns 0.92

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Net.Tests.Perf_WebUtility*'

.

Payloads

Baseline
Compare

Histogram

System.Net.Tests.Perf_WebUtility.HtmlDecode_Entities

[152.312 ; 157.881) | @@@@@@@@@@@@@@@@@@@@@@@@@
[157.881 ; 161.608) | @@
[161.608 ; 166.433) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[166.433 ; 172.874) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[172.874 ; 178.424) | @@@
[178.424 ; 183.488) | @
[183.488 ; 187.866) | 
[187.866 ; 192.858) | @

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Security.Cryptography.X509Certificates.Tests.X509Certificate2Tests

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
CertProp 55.94 ns 51.33 ns 0.92

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Security.Cryptography.X509Certificates.Tests.X509Certificate2Tests*'

.

Payloads

Baseline
Compare

Histogram

System.Security.Cryptography.X509Certificates.Tests.X509Certificate2Tests.CertProp

[49.832 ; 51.391) | @@@@@@@@@
[51.391 ; 53.194) | @@@@@@@@@
[53.194 ; 54.320) | @@@@@@@
[54.320 ; 56.165) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[56.165 ; 58.791) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Memory.ReadOnlySpan

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IndexOfString 19.43 ns 16.91 ns 0.87
IndexOfString 164.48 ns 151.56 ns 0.92
IndexOfString 25.33 ns 23.00 ns 0.91

Related Issue on x64 Windows

[Perf 75%] System.Memory.ReadOnlySpan.IndexOfString

Related Issue on x86 Windows

[Perf 28%] System.Memory.ReadOnlySpan (4)

graph
graph
graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Memory.ReadOnlySpan*'

.

Payloads

Baseline
Compare

Histogram

System.Memory.ReadOnlySpan.IndexOfString(input: "StrIng", value: "string", comparisonType: OrdinalIgnoreCase)

[16.633 ; 17.153) | @@@@@@@@@@@@@@@
[17.153 ; 17.828) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[17.828 ; 18.495) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[18.495 ; 19.141) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[19.141 ; 19.900) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Memory.ReadOnlySpan.IndexOfString(input: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", value: "x", comparisonType: InvariantCultureIgnoreCase)

[148.355 ; 153.121) | @@@@@@@@@@@@@@@@@@@@@@@@@@
[153.121 ; 157.040) | 
[157.040 ; 160.959) | 
[160.959 ; 166.196) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[166.196 ; 170.701) | @@@@
[170.701 ; 176.092) | @

System.Memory.ReadOnlySpan.IndexOfString(input: "ABCDE", value: "c", comparisonType: InvariantCultureIgnoreCase)

[22.602 ; 23.356) | @@@@@@@@@@@@@@
[23.356 ; 23.907) | @@@@@@@@@@
[23.907 ; 24.612) | @
[24.612 ; 25.621) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[25.621 ; 26.481) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[26.481 ; 27.108) | @@@@@@@@@@@@@@@@@@@@@@@@@@
[27.108 ; 28.174) | @@@@@@@@@@@@@
[28.174 ; 28.959) | @@
[28.959 ; 29.571) | 
[29.571 ; 30.631) | @

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Text.Json.Tests.Perf_Get

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
GetByte 1.22 μs 1.13 μs 0.92
GetGuid 5.96 μs 5.29 μs 0.89
GetUInt16 1.22 μs 1.15 μs 0.94
GetInt16 1.26 μs 1.19 μs 0.94

graph
graph
graph
graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Text.Json.Tests.Perf_Get*'

.

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Get.GetByte

[1118.428 ; 1150.355) | @@@@@@@@@@@@@@@@@@@@@@@@@@
[1150.355 ; 1174.760) | 
[1174.760 ; 1207.767) | 
[1207.767 ; 1272.646) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Json.Tests.Perf_Get.GetGuid

[5006.330 ; 5116.399) | @@@@@
[5116.399 ; 5264.862) | @@@@@@@@@@@@@@@@@@@
[5264.862 ; 5428.568) | @@
[5428.568 ; 5604.557) | 
[5604.557 ; 5780.547) | 
[5780.547 ; 5917.495) | 
[5917.495 ; 6149.986) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[6149.986 ; 6299.821) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[6299.821 ; 6457.797) | @@
[6457.797 ; 6633.786) | 
[6633.786 ; 6815.829) | @@
[6815.829 ; 7003.637) | @

System.Text.Json.Tests.Perf_Get.GetUInt16

[1140.361 ; 1170.661) | @@@@@@@@@@@@@@@@@@@@@@@@
[1170.661 ; 1206.543) | 
[1206.543 ; 1248.276) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[1248.276 ; 1291.375) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Json.Tests.Perf_Get.GetInt16

[1184.678 ; 1214.463) | @@@@@@@@@@@@@@@@@@@@@@@@@
[1214.463 ; 1252.826) | 
[1252.826 ; 1317.576) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Tests.Perf_UInt32

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
TryParseHex 13.25 ns 11.86 ns 0.90
TryParse 15.06 ns 12.95 ns 0.86
TryParseHex 18.28 ns 15.76 ns 0.86
ParseSpan 23.31 ns 19.30 ns 0.83

Related Issue on x64 Windows

[Perf -11%] System.Tests.Perf_UInt32.TryParseHex

graph
graph
graph
graph
Historical Data in Reporting System

Repro

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

.

Payloads

Baseline
Compare

Histogram

System.Tests.Perf_UInt32.TryParseHex(value: "3039")

[11.491 ; 11.917) | @@@@@@@@@@@@@@@@@@@@
[11.917 ; 12.369) | @@@@
[12.369 ; 12.740) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[12.740 ; 13.221) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[13.221 ; 13.713) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Tests.Perf_UInt32.TryParse(value: "12345")

[12.779 ; 13.038) | @@
[13.038 ; 13.330) | @@
[13.330 ; 13.809) | @@@@@@@@@@@@@@@@@@@@@
[13.809 ; 14.285) | @@@@@
[14.285 ; 14.841) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[14.841 ; 15.181) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[15.181 ; 15.692) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[15.692 ; 16.049) | @@

System.Tests.Perf_UInt32.TryParseHex(value: "FFFFFFFF")

[15.520 ; 15.980) | @@@@@@@@@@@@@@@
[15.980 ; 16.352) | @@@@@@
[16.352 ; 16.953) | @@@@@
[16.953 ; 17.495) | 
[17.495 ; 17.893) | 
[17.893 ; 18.426) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[18.426 ; 19.198) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[19.198 ; 19.734) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Tests.Perf_UInt32.ParseSpan(value: "4294967295")

[17.075 ; 17.879) | @@@@@@
[17.879 ; 18.330) | @@@@@@@@@@@@@
[18.330 ; 18.860) | @@@@@@
[18.860 ; 19.529) | @
[19.529 ; 19.980) | 
[19.980 ; 20.431) | 
[20.431 ; 20.882) | 
[20.882 ; 21.333) | 
[21.333 ; 21.847) | 
[21.847 ; 22.560) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[22.560 ; 23.476) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[23.476 ; 24.363) | @@@@@@@@@@@@@@@@@@@@@
[24.363 ; 25.270) | @@@
[25.270 ; 25.888) | @@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Net.NetworkInformation.Tests.PhysicalAddressTests

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
PAMedium 29.42 ns 24.53 ns 0.83

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Net.NetworkInformation.Tests.PhysicalAddressTests*'

.

Payloads

Baseline
Compare

Histogram

System.Net.NetworkInformation.Tests.PhysicalAddressTests.PAMedium

[24.422 ; 25.361) | @@@@@@@@@@@@@@@@@@@@@@@@@@
[25.361 ; 26.102) | 
[26.102 ; 26.842) | 
[26.842 ; 27.583) | 
[27.583 ; 28.275) | @@
[28.275 ; 29.318) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[29.318 ; 30.260) | @@@@@@@@@@@@
[30.260 ; 31.146) | @@@@@@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Buffers.Text.Tests.Base64Tests

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Base64DecodeDetinationTooSmall 10.93 ns 9.19 ns 0.84
Base64Decode 11.03 ns 8.99 ns 0.82

graph
graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Buffers.Text.Tests.Base64Tests*'

.

Payloads

Baseline
Compare

Histogram

System.Buffers.Text.Tests.Base64Tests.Base64DecodeDetinationTooSmall(NumberOfBytes: 1000)

[ 8.627 ;  8.846) | @
[ 8.846 ;  9.071) | @@@@@@@@
[ 9.071 ;  9.444) | @@@@@@@@@@@@@
[ 9.444 ;  9.677) | 
[ 9.677 ; 10.017) | @@@@@@@@@@@@@@@@@@@@@@@@@
[10.017 ; 10.390) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[10.390 ; 10.749) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[10.749 ; 11.190) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[11.190 ; 11.614) | @@@@@@@@@@
[11.614 ; 11.934) | @
[11.934 ; 12.377) | @@
[12.377 ; 12.953) | @@

System.Buffers.Text.Tests.Base64Tests.Base64Decode(NumberOfBytes: 1000)

[ 8.731 ;  8.961) | @@@@@@@
[ 8.961 ;  9.164) | @@@@@@@@@@@@@@@
[ 9.164 ;  9.522) | @@
[ 9.522 ;  9.884) | @@@@@@@@@@@@@@@@@
[ 9.884 ; 10.119) | @@@@@@@@@@@@
[10.119 ; 10.395) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[10.395 ; 10.750) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[10.750 ; 10.999) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[10.999 ; 11.375) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[11.375 ; 11.990) | @@@@@@@@@@@@@@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Buffers.Text.Tests.Utf8FormatterTests

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
FormatterDateTimeOffsetNow 40.93 ns 37.57 ns 0.92

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Buffers.Text.Tests.Utf8FormatterTests*'

.

Payloads

Baseline
Compare

Histogram

System.Buffers.Text.Tests.Utf8FormatterTests.FormatterDateTimeOffsetNow(value: 12/30/2017 3:45:22 AM -08:00)

[37.257 ; 38.701) | @@@@@@@@@@@@@@@@@@@@@@@@@
[38.701 ; 39.762) | 
[39.762 ; 41.226) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[41.226 ; 42.411) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[42.411 ; 43.943) | @@@@@@
[43.943 ; 45.796) | @@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Collections.Sort

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
Array 3.43 μs 3.06 μs 0.89

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Collections.Sort<Int32>*'

.

Payloads

Baseline
Compare

Histogram

System.Collections.Sort.Array(Size: 512)

[2906.508 ; 2971.101) | @@@@
[2971.101 ; 3078.807) | @@@@@@@@@@@@@@@@@@@
[3078.807 ; 3166.159) | @@@
[3166.159 ; 3275.623) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[3275.623 ; 3362.179) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[3362.179 ; 3493.691) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[3493.691 ; 3615.043) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[3615.043 ; 3734.655) | @@@@@@@@@@@@@
[3734.655 ; 3857.071) | @@@@@@
[3857.071 ; 3972.930) | @
[3972.930 ; 4088.182) | @
[4088.182 ; 4240.543) | @

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Collections.CtorFromCollection

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ImmutableSortedSet 16.42 μs 13.81 μs 0.84

Related Issue on x64 Windows

[Perf 69%] System.Collections.CtorFromCollection.Dictionary

Related Issue on x86 Windows

[Perf 55%] System.Collections.CtorFromCollection.Dictionary

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Collections.CtorFromCollection<Int32>*'

.

Payloads

Baseline
Compare

Histogram

System.Collections.CtorFromCollection.ImmutableSortedSet(Size: 512)

[13543.605 ; 14016.522) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[14016.522 ; 14593.924) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[14593.924 ; 14949.013) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[14949.013 ; 15413.574) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[15413.574 ; 15964.545) | @@@@@@@@@@@@@@@@@@@@@@@@
[15964.545 ; 16492.080) | @@@@@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in System.Numerics.Tests.Perf_BigInteger

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ToStringX 356.88 ns 323.16 ns 0.91

Related Issue on x64 Windows

[Perf -14%] System.Numerics.Tests.Perf_BigInteger (3)

Related Issue on x86 Windows

[Perf -11%] System.Numerics.Tests.Perf_BigInteger.ToStringD

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Numerics.Tests.Perf_BigInteger*'

.

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Perf_BigInteger.ToStringX(numberString: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)

[321.528 ; 331.138) | @@@@@@@@@@@@@@@
[331.138 ; 342.960) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[342.960 ; 354.923) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[354.923 ; 363.431) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[363.431 ; 374.728) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Docs

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

Run Information

Architecture x64
OS ubuntu 18.04
Baseline 49f7896598642bbf0cc7947b95b7c96d31b2fb46
Compare 68261b50e7c9e19c06ade1b06558da876981c366

Improvemnts in Span.Sorting

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
BubbleSortSpan 291.45 μs 237.29 μs 0.81

Related Issue on x64 Windows

[Perf 7%] Span.Sorting.QuickSortArray

Related Issue on x86 Windows

[Perf -64%] Span.Sorting.QuickSortSpan

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'Span.Sorting*'

.

Payloads

Baseline
Compare

Histogram

Span.Sorting.BubbleSortSpan(Size: 512)

[146618.030 ; 160101.287) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[160101.287 ; 173584.544) | 
[173584.544 ; 187067.801) | 
[187067.801 ; 200551.058) | 
[200551.058 ; 214034.315) | 
[214034.315 ; 227517.572) | 
[227517.572 ; 235740.839) | 
[235740.839 ; 249224.096) | @@@@@@@@@@@@@@@@@@@@@@@@@
[249224.096 ; 262707.353) | 
[262707.353 ; 276190.610) | 
[276190.610 ; 289990.280) | 
[289990.280 ; 303473.537) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Docs

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

DrewScoggins pushed a commit that referenced this issue Jan 22, 2024
…1210.2 (#3598)

Microsoft.Extensions.Logging , Microsoft.NET.ILLink , Microsoft.NET.ILLink.Tasks , System.Threading.Channels
 From Version 9.0.0-alpha.1.23610.1 -> To Version 9.0.0-alpha.1.23610.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant