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] Windows/x64: massive regressions on 1/17/2024 11:26:01 PM #97399

Closed
performanceautofiler bot opened this issue Jan 23, 2024 · 39 comments
Closed

[Perf] Windows/x64: massive regressions on 1/17/2024 11:26:01 PM #97399

performanceautofiler bot opened this issue Jan 23, 2024 · 39 comments
Labels
arch-x64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI os-windows runtime-coreclr specific to the CoreCLR runtime

Comments

@performanceautofiler
Copy link

Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
135.08 μs 149.55 μs 1.11 0.07 False
65.10 μs 69.86 μs 1.07 0.04 False
2.25 ms 2.48 ms 1.11 0.04 False
33.34 ms 36.04 ms 1.08 0.12 False
2.15 ms 2.31 ms 1.07 0.08 False
15.07 ms 18.20 ms 1.21 0.01 True
891.52 μs 947.71 μs 1.06 0.05 False
10.48 ms 13.83 ms 1.32 0.11 False
161.55 μs 171.27 μs 1.06 0.02 False
1.22 ms 1.37 ms 1.12 0.03 False
119.02 μs 130.73 μs 1.10 0.04 False
60.55 μs 68.16 μs 1.13 0.05 False
771.94 μs 867.45 μs 1.12 0.15 False
4.72 ms 5.66 ms 1.20 0.11 False
304.37 μs 336.30 μs 1.10 0.02 False
13.65 ms 15.99 ms 1.17 0.03 True
25.28 ms 30.01 ms 1.19 0.02 True
206.77 μs 224.74 μs 1.09 0.03 False
1.31 ms 1.67 ms 1.28 0.02 True
214.99 μs 233.57 μs 1.09 0.01 False
181.70 μs 202.02 μs 1.11 0.02 False
10.46 ms 12.18 ms 1.16 0.14 False
332.07 μs 368.11 μs 1.11 0.03 True

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock*'

Payloads

Baseline
Compare

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes", Options: NonBacktracking)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-q][^u-z]{13}x", Options: NonBacktracking)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes|Watson|Irene|Adler|John|Baker", Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\p{L}", Options: NonBacktracking)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\p{Lu}", Options: NonBacktracking)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\s[a-zA-Z]{0,12}ing\s", Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)the", Options: NonBacktracking)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\w+\s+Holmes", Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sher[a-z]+|Hol[a-z]+", Options: NonBacktracking)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "the\s+\w+", Options: NonBacktracking)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "The", Options: NonBacktracking)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-q][^u-z]{13}x", Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "the", Options: NonBacktracking)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sher[a-z]+|Hol[a-z]+", Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes|Watson", Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-zA-Z]+ing", Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sherlock|Holmes|Watson|Irene|Adler|John|Baker", Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes", Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?s).*", Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sher[a-z]+|Hol[a-z]+", Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes|Watson", Options: NonBacktracking)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\w+\s+Holmes\s+\w+", Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Holmes.{0,25}Watson|Watson.{0,25}Holmes", Options: None)

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Numerics.Tests.Perf_BigInteger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
3.91 ns 6.03 ns 1.54 0.04 True
4.52 ns 6.48 ns 1.43 0.04 False
10.90 ns 14.18 ns 1.30 0.06 True
3.90 ns 6.07 ns 1.56 0.04 True
4.22 ns 6.94 ns 1.64 0.09 False
7.05 ns 9.19 ns 1.30 0.01 True
7.33 ns 8.51 ns 1.16 0.05 False

graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

Payloads

Baseline
Compare

System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 259 bytes, DiffFirstByte)

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 67 bytes, DiffMiddleByte)

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: -2147483648)

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 67 bytes, DiffFirstByte)

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 67 bytes, Same)

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: 123)

ETL Files

Histogram

JIT Disasms

System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 259 bytes, DiffMiddleByte)

ETL Files

Histogram

JIT Disasms

Docs

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

@performanceautofiler performanceautofiler bot added arch-x64 os-windows runtime-coreclr specific to the CoreCLR runtime untriaged New issue has not been triaged by the area owner labels Jan 23, 2024
Copy link
Author

Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.IO.Tests.Perf_StreamWriter

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
361.01 ms 416.29 ms 1.15 0.12 False
343.17 ms 396.92 ms 1.16 0.18 False
353.90 ms 404.96 ms 1.14 0.13 False

graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.Perf_StreamWriter*'

Payloads

Baseline
Compare

System.IO.Tests.Perf_StreamWriter.WritePartialCharArray(writeLength: 100)

ETL Files

Histogram

JIT Disasms

System.IO.Tests.Perf_StreamWriter.WriteString(writeLength: 100)

ETL Files

Histogram

JIT Disasms

System.IO.Tests.Perf_StreamWriter.WriteCharArray(writeLength: 100)

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Memory.Span<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
3.02 ns 5.14 ns 1.70 0.10 True
2.38 ns 4.20 ns 1.77 0.11 True
3.97 ns 6.21 ns 1.56 0.04 True
7.66 ns 9.27 ns 1.21 0.02 True
2.95 ns 4.71 ns 1.60 0.20 True
3.29 ns 5.00 ns 1.52 0.08 True
2.40 ns 4.11 ns 1.71 0.21 True
6.78 ns 7.89 ns 1.16 0.07 False
2.08 ns 3.43 ns 1.65 0.08 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span&lt;Byte&gt;*'

Payloads

Baseline
Compare

System.Memory.Span<Byte>.StartsWith(Size: 4)

ETL Files

Histogram

JIT Disasms

System.Memory.Span<Byte>.SequenceEqual(Size: 4)

ETL Files

Histogram

JIT Disasms

System.Memory.Span<Byte>.StartsWith(Size: 33)

ETL Files

Histogram

JIT Disasms

System.Memory.Span<Byte>.LastIndexOfValue(Size: 512)

ETL Files

Histogram

JIT Disasms

System.Memory.Span<Byte>.IndexOfAnyTwoValues(Size: 4)

ETL Files

Histogram

JIT Disasms

System.Memory.Span<Byte>.SequenceEqual(Size: 33)

ETL Files

Histogram

JIT Disasms

System.Memory.Span<Byte>.LastIndexOfAnyValues(Size: 4)

ETL Files

Histogram

JIT Disasms

System.Memory.Span<Byte>.ToArray(Size: 4)

ETL Files

Histogram

JIT Disasms

System.Memory.Span<Byte>.EndsWith(Size: 4)

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in MicroBenchmarks.Serializers.Xml_ToStream<LoginViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
474.41 ns 578.39 ns 1.22 0.02 True
818.84 ns 935.55 ns 1.14 0.05 True

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;LoginViewModel&gt;*'

Payloads

Baseline
Compare

MicroBenchmarks.Serializers.Xml_ToStream<LoginViewModel>.DataContractSerializer_BinaryXml_

ETL Files

Histogram

JIT Disasms

MicroBenchmarks.Serializers.Xml_ToStream<LoginViewModel>.DataContractSerializer_

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
853.72 ns 998.45 ns 1.17 0.06 True
1.22 μs 1.38 μs 1.12 0.01 True
1.30 μs 1.50 μs 1.15 0.01 True
1.20 μs 1.37 μs 1.14 0.04 True
1.30 μs 1.49 μs 1.15 0.02 True
935.10 ns 1.07 μs 1.14 0.07 False
880.18 ns 1.00 μs 1.14 0.01 True
958.41 ns 1.10 μs 1.14 0.04 False

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;LargeStructWithProperties&gt;*'

Payloads

Baseline
Compare

System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromUtf8Bytes(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromStream(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromReader(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromStream(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromReader(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromString(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromUtf8Bytes(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<LargeStructWithProperties>.DeserializeFromString(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

Docs

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

Copy link
Author

Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.Json.Serialization.Tests.WriteJson<Hashtable>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
8.74 μs 10.74 μs 1.23 0.05 True
9.82 μs 11.36 μs 1.16 0.02 True
10.00 μs 12.00 μs 1.20 0.02 True
9.33 μs 11.07 μs 1.19 0.04 True
9.15 μs 10.94 μs 1.20 0.03 True
9.36 μs 11.07 μs 1.18 0.03 True
9.91 μs 11.56 μs 1.17 0.03 True
8.82 μs 10.68 μs 1.21 0.03 True
9.18 μs 11.19 μs 1.22 0.04 True
10.13 μs 11.87 μs 1.17 0.02 True

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Hashtable&gt;*'

Payloads

Baseline
Compare

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToWriter(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToString(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeObjectProperty(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToUtf8Bytes(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToStream(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToUtf8Bytes(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToString(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToWriter(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToStream(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeObjectProperty(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Memory.Slice<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.89 ns 3.13 ns 1.65 0.09 False
1.88 ns 3.13 ns 1.66 0.09 False
1.90 ns 3.10 ns 1.63 0.12 True
1.92 ns 3.02 ns 1.57 0.12 True
2.31 ns 3.32 ns 1.43 0.14 False
2.26 ns 3.30 ns 1.46 0.15 False

graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Slice&lt;Byte&gt;*'

Payloads

Baseline
Compare

System.Memory.Slice<Byte>.MemoryStartSpan

ETL Files

Histogram

JIT Disasms

System.Memory.Slice<Byte>.ReadOnlyMemoryStartSpan

ETL Files

Histogram

JIT Disasms

System.Memory.Slice<Byte>.ReadOnlyMemoryStartLengthSpan

ETL Files

Histogram

JIT Disasms

System.Memory.Slice<Byte>.MemoryStartLengthSpan

ETL Files

Histogram

JIT Disasms

System.Memory.Slice<Byte>.MemorySpanStartLength

ETL Files

Histogram

JIT Disasms

System.Memory.Slice<Byte>.ReadOnlyMemorySpanStartLength

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in MicroBenchmarks.Serializers.Xml_ToStream<MyEventsListerViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
341.56 μs 391.46 μs 1.15 0.05 True
547.02 μs 645.37 μs 1.18 0.01 True

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;MyEventsListerViewModel&gt;*'

Payloads

Baseline
Compare

MicroBenchmarks.Serializers.Xml_ToStream<MyEventsListerViewModel>.DataContractSerializer_BinaryXml_

ETL Files

Histogram

JIT Disasms

MicroBenchmarks.Serializers.Xml_ToStream<MyEventsListerViewModel>.DataContractSerializer_

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.04 μs 1.13 μs 1.09 0.01 False
702.64 ns 789.99 ns 1.12 0.03 True
764.36 ns 953.53 ns 1.25 0.13 False
729.51 ns 770.87 ns 1.06 0.05 False
1.03 μs 1.15 μs 1.11 0.01 True
1.04 μs 1.12 μs 1.08 0.03 False
1.04 μs 1.14 μs 1.10 0.03 True

graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;ClassRecord&gt;*'

Payloads

Baseline
Compare

System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromStream(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromUtf8Bytes(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromString(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromUtf8Bytes(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromReader(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromStream(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromReader(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

Docs

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

Copy link
Author

Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.Json.Tests.Perf_Segment

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
58.49 μs 64.72 μs 1.11 0.04 False
592.67 μs 638.29 μs 1.08 0.01 False
576.65 μs 682.90 μs 1.18 0.06 False
5.27 μs 6.16 μs 1.17 0.07 True
5.19 μs 6.45 μs 1.24 0.08 True
63.25 μs 68.06 μs 1.08 0.01 False
635.95 μs 681.86 μs 1.07 0.02 False
5.30 μs 6.57 μs 1.24 0.07 True
58.54 μs 63.83 μs 1.09 0.00 True
6.37 μs 7.34 μs 1.15 0.06 True
58.09 μs 63.80 μs 1.10 0.02 True
585.57 μs 637.70 μs 1.09 0.06 False
5.33 μs 6.57 μs 1.23 0.05 True
639.89 μs 679.64 μs 1.06 0.00 False
581.86 μs 658.14 μs 1.13 0.02 False
62.89 μs 67.83 μs 1.08 0.01 False
585.65 μs 656.18 μs 1.12 0.02 False
5.81 μs 7.02 μs 1.21 0.01 True
5.38 μs 6.56 μs 1.22 0.08 True

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

Payloads

Baseline
Compare

System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 4096, TestCase: Json40KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequence(TestCase: Json400KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 4096, TestCase: Json400KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 4096, TestCase: Json4KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 8192, TestCase: Json4KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 4096, TestCase: Json40KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 8192, TestCase: Json400KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 8192, TestCase: Json4KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequence(TestCase: Json40KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 4096, TestCase: Json4KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 8192, TestCase: Json40KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 8192, TestCase: Json400KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequence(TestCase: Json4KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 4096, TestCase: Json400KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 4096, TestCase: Json400KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 8192, TestCase: Json40KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadSingleSegmentSequenceByN(numberOfBytes: 8192, TestCase: Json400KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequence(segmentSize: 8192, TestCase: Json4KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 4096, TestCase: Json4KB)

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.Json.Document.Tests.Perf_ParseThenWrite

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
3.98 μs 4.29 μs 1.08 0.07 False
1.53 ms 1.74 ms 1.14 0.66 False
2.04 μs 2.33 μs 1.14 0.02 True
1.21 ms 1.48 ms 1.22 0.52 False
17.59 μs 18.75 μs 1.07 0.05 False
1.73 μs 2.01 μs 1.16 0.01 True
11.39 μs 13.85 μs 1.22 0.08 False
14.73 μs 17.40 μs 1.18 0.09 False
16.34 μs 18.44 μs 1.13 0.07 True

graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

Payloads

Baseline
Compare

System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: LotsOfNumbers)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json400KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json400B)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json400KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: DeepTree)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json400B)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json4KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json4KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: BroadTree)

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in MicroBenchmarks.Serializers.Json_ToString<Location>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
978.33 ns 1.14 μs 1.17 0.03 True
654.14 ns 734.22 ns 1.12 0.03 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToString&lt;Location&gt;*'

Payloads

Baseline
Compare

MicroBenchmarks.Serializers.Json_ToString<Location>.JsonNet_

ETL Files

Histogram

JIT Disasms

MicroBenchmarks.Serializers.Json_ToString<Location>.SystemTextJson_Reflection_

ETL Files

Histogram

JIT Disasms

Docs

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

Copy link
Author

Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
98.62 ns 108.47 ns 1.10 0.05 False
188.66 ns 233.64 ns 1.24 0.15 False
166.19 ns 197.50 ns 1.19 0.11 False
297.98 ns 337.26 ns 1.13 0.08 False
109.09 ns 117.49 ns 1.08 0.04 False
107.01 ns 121.46 ns 1.14 0.04 False
213.37 ns 251.05 ns 1.18 0.01 True
108.94 ns 120.33 ns 1.10 0.05 False
88.27 ns 98.37 ns 1.11 0.07 False
109.76 ns 119.73 ns 1.09 0.03 False
155.89 ns 174.13 ns 1.12 0.10 False
288.50 ns 337.37 ns 1.17 0.06 False
157.04 ns 195.68 ns 1.25 0.06 True
98.92 ns 108.77 ns 1.10 0.06 False
142.15 ns 153.70 ns 1.08 0.03 False
107.53 ns 123.33 ns 1.15 0.05 False
343.13 ns 402.41 ns 1.17 0.07 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple*'

Payloads

Baseline
Compare

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 12, Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 3, Options: NonBacktracking)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 5, Options: NonBacktracking)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 5, Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 11, Options: NonBacktracking)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 7, Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 2, Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 9, Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 11, Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 6, Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 2, Options: NonBacktracking)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 4, Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 4, Options: NonBacktracking)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 13, Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 1, Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 8, Options: None)

ETL Files

Histogram

JIT Disasms

System.Text.RegularExpressions.Tests.Perf_Regex_Industry_BoostDocs_Simple.IsMatch(Id: 3, Options: None)

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
16.68 μs 18.33 μs 1.10 0.01 True
15.36 μs 16.89 μs 1.10 0.01 False
14.58 μs 16.23 μs 1.11 0.01 True
18.63 μs 20.71 μs 1.11 0.01 True
14.83 μs 17.19 μs 1.16 0.01 True
14.36 μs 16.66 μs 1.16 0.01 True
18.76 μs 20.81 μs 1.11 0.03 False
16.15 μs 18.06 μs 1.12 0.01 True

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Dictionary&lt;String, String&gt;&gt;*'

Payloads

Baseline
Compare

System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromStream(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromString(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromUtf8Bytes(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromReader(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromString(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromUtf8Bytes(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromReader(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<Dictionary<String, String>>.DeserializeFromStream(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.Perf_Ascii

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
8.56 ns 10.83 ns 1.27 0.18 False
6.47 ns 8.71 ns 1.35 0.03 False
6.31 ns 9.75 ns 1.54 0.04 False
7.21 ns 8.50 ns 1.18 0.04 False
7.52 ns 8.67 ns 1.15 0.02 False
6.70 ns 8.56 ns 1.28 0.03 False
5.83 ns 7.33 ns 1.26 0.03 False
5.32 ns 6.43 ns 1.21 0.32 False

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Perf_Ascii*'

Payloads

Baseline
Compare

System.Text.Perf_Ascii.EqualsIgnoreCase_ExactlyTheSame_Bytes(Size: 128)

ETL Files

Histogram

JIT Disasms

System.Text.Perf_Ascii.Equals_Chars(Size: 6)

ETL Files

Histogram

JIT Disasms

System.Text.Perf_Ascii.Equals_Bytes(Size: 6)

ETL Files

Histogram

JIT Disasms

System.Text.Perf_Ascii.EqualsIgnoreCase_ExactlyTheSame_Bytes(Size: 6)

ETL Files

Histogram

JIT Disasms

System.Text.Perf_Ascii.EqualsIgnoreCase_ExactlyTheSame_Chars(Size: 6)

ETL Files

Histogram

JIT Disasms

System.Text.Perf_Ascii.Equals_Bytes_Chars(Size: 6)

ETL Files

Histogram

JIT Disasms

System.Text.Perf_Ascii.EqualsIgnoreCase_ExactlyTheSame_Bytes_Chars(Size: 6)

ETL Files

Histogram

JIT Disasms

System.Text.Perf_Ascii.Equals_Bytes(Size: 128)

ETL Files

Histogram

JIT Disasms

Docs

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

Copy link
Author

Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Tests.Perf_Version

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
30.94 ns 38.65 ns 1.25 0.30 False
23.02 ns 27.33 ns 1.19 0.14 False
27.17 ns 32.14 ns 1.18 0.25 False
11.31 ns 13.55 ns 1.20 0.21 False
19.57 ns 23.73 ns 1.21 0.34 False
15.69 ns 20.61 ns 1.31 0.26 False

graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

Payloads

Baseline
Compare

System.Tests.Perf_Version.ToString4

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Version.ToString2

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Version.ToString3

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Version.TryFormat2

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Version.TryFormat4

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_Version.TryFormat3

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.Json.Document.Tests.Perf_EnumerateArray

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
524.02 μs 623.68 μs 1.19 0.08 True
433.85 ns 708.83 ns 1.63 0.01 True
8.51 μs 9.46 μs 1.11 0.08 False
434.13 ns 862.27 ns 1.99 0.01 True
5.18 μs 6.46 μs 1.25 0.09 False

graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

Payloads

Baseline
Compare

System.Text.Json.Document.Tests.Perf_EnumerateArray.Parse(TestCase: Json400KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_EnumerateArray.EnumerateArray(TestCase: ArrayOfNumbers)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_EnumerateArray.Parse(TestCase: ArrayOfNumbers)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_EnumerateArray.EnumerateArray(TestCase: ArrayOfStrings)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_EnumerateArray.Parse(TestCase: ArrayOfStrings)

ETL Files

Histogram

JIT Disasms

Docs

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


Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.Json.Document.Tests.Perf_DocumentParse

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.07 μs 1.21 μs 1.13 0.01 True
812.34 ns 884.05 ns 1.09 0.03 False
626.02 ns 711.07 ns 1.14 0.05 False
2.17 μs 2.39 μs 1.10 0.01 True
832.39 ns 973.53 ns 1.17 0.05 True
749.53 μs 837.22 μs 1.12 0.03 True
524.39 μs 634.89 μs 1.21 0.09 True
2.39 μs 2.63 μs 1.10 0.00 True

graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

Payloads

Baseline
Compare

System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: False, TestCase: Json400B)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: False, TestCase: BasicJson)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: False, TestCase: BasicJson)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: True, TestCase: Json400B)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: False, TestCase: Json400B)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: False, TestCase: Json400KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: False, TestRandomAccess: False, TestCase: Json400KB)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Document.Tests.Perf_DocumentParse.Parse(IsDataIndented: True, TestRandomAccess: True, TestCase: Json400B)

ETL Files

Histogram

JIT Disasms

Docs

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

Copy link
Author

Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Linq.Tests.Perf_Enumerable

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.49 μs 3.26 μs 1.31 0.42 False
340.02 ns 438.35 ns 1.29 0.20 False
286.90 ns 322.17 ns 1.12 0.00 False
257.27 ns 276.75 ns 1.08 0.00 False
352.48 ns 420.93 ns 1.19 0.13 False
175.57 ns 197.15 ns 1.12 0.08 False
1.47 μs 1.97 μs 1.34 0.12 True
2.52 μs 2.99 μs 1.19 0.04 False
411.36 ns 499.94 ns 1.22 0.02 True
2.27 μs 2.56 μs 1.13 0.09 False
287.38 ns 365.75 ns 1.27 0.00 True
1.48 μs 2.00 μs 1.35 0.07 True
2.50 μs 3.01 μs 1.21 0.03 False
11.93 ns 22.50 ns 1.89 0.04 False
291.40 ns 347.34 ns 1.19 0.10 False
2.52 μs 3.04 μs 1.21 0.09 False
117.32 ns 125.05 ns 1.07 0.03 False
1.80 μs 2.33 μs 1.30 0.07 True
289.28 ns 367.76 ns 1.27 0.00 True
11.00 ns 13.99 ns 1.27 0.09 False

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Linq.Tests.Perf_Enumerable*'

Payloads

Baseline
Compare

System.Linq.Tests.Perf_Enumerable.OrderByThenBy(input: IEnumerable)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.LastWithPredicate_FirstElementMatches(input: IOrderedEnumerable)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.WhereFirst_LastElementMatches(input: IEnumerable)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.WhereAny_LastElementMatches(input: List)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.Skip_One(input: IEnumerable)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.WhereAny_LastElementMatches(input: Array)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input: IOrderedEnumerable)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.OrderByDescending(input: IEnumerable)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.TakeLastHalf(input: List)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.Prepend(input: IEnumerable)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.WhereSingleOrDefault_LastElementMatches(input: IEnumerable)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input: IOrderedEnumerable)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.AppendPrepend(input: IEnumerable)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.EmptyTakeSelectToArray

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.SkipHalfTakeHalf(input: IEnumerable)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.Append(input: IEnumerable)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.SelectToList(input: List)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.OrderBy(input: IEnumerable)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.WhereSingle_LastElementMatches(input: IEnumerable)

ETL Files

Histogram

JIT Disasms

System.Linq.Tests.Perf_Enumerable.Contains_ElementNotFound(input: ICollection)

ETL Files

Histogram

JIT Disasms

Docs

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

Copy link
Author

Run Information

Name Value
Architecture x64
OS Windows 10.0.18362
Queue TigerWindows
Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.Json.Tests.Perf_Reader

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.38 μs 2.92 μs 1.23 0.06 True
5.19 μs 6.22 μs 1.20 0.05 True
2.57 μs 2.80 μs 1.09 0.26 False
59.64 μs 63.99 μs 1.07 0.00 False
37.23 μs 41.17 μs 1.11 0.06 False
5.38 μs 6.50 μs 1.21 0.05 True
465.81 ns 643.40 ns 1.38 0.10 True
1.67 μs 1.87 μs 1.12 0.31 False
3.09 μs 3.34 μs 1.08 0.49 False
88.57 ns 95.43 ns 1.08 0.10 False
2.13 μs 2.35 μs 1.10 0.06 False
58.43 μs 63.93 μs 1.09 0.00 False
3.12 μs 4.05 μs 1.30 0.12 True
5.65 μs 6.87 μs 1.22 0.48 False
1.55 μs 1.72 μs 1.11 0.08 False
46.76 μs 52.04 μs 1.11 0.09 False
39.87 μs 43.46 μs 1.09 0.05 False
805.51 ns 976.98 ns 1.21 0.00 True
66.95 μs 75.13 μs 1.12 0.03 False
661.59 ns 810.95 ns 1.23 0.04 True
2.40 μs 2.78 μs 1.16 0.06 True
1.01 μs 1.15 μs 1.14 0.15 False
78.19 ns 86.57 ns 1.11 0.15 False
574.14 ns 695.90 ns 1.21 0.15 False
74.51 ns 81.28 ns 1.09 0.10 False
876.93 ns 1.30 μs 1.48 0.11 True
4.70 μs 5.89 μs 1.25 0.14 True
5.99 μs 7.47 μs 1.25 0.07 True
128.44 ns 144.14 ns 1.12 0.02 False
622.05 ns 762.09 ns 1.23 0.07 True
674.92 ns 785.50 ns 1.16 0.05 True
5.79 μs 7.76 μs 1.34 0.05 True
3.71 μs 5.06 μs 1.36 0.12 True
65.72 ns 72.40 ns 1.10 0.17 False
453.16 ns 549.83 ns 1.21 0.20 False
845.75 ns 963.37 ns 1.14 0.25 False
1.53 μs 1.66 μs 1.09 0.15 False
2.19 μs 2.35 μs 1.07 0.05 False
1.45 μs 1.63 μs 1.12 0.05 False
4.81 μs 6.07 μs 1.26 0.11 True
430.25 ns 509.63 ns 1.18 0.22 False
2.64 μs 3.22 μs 1.22 0.10 True
9.10 μs 10.51 μs 1.15 0.04 True
146.62 ns 159.59 ns 1.09 0.03 False
3.61 μs 4.66 μs 1.29 0.47 False

Copy link
Author

/li>

  • 📈 - ADX Test Multi Config Graph
  • | 68.79 ns | 78.36 ns | 1.14 | 0.16 | False | | |
    | | 9.04 μs | 9.99 μs | 1.11 | 0.02 | False | | |
    | | 3.16 μs | 4.04 μs | 1.28 | 0.13 | True | | |
    | | 62.62 μs | 69.41 μs | 1.11 | 0.00 | False | | |
    | | 37.30 μs | 41.40 μs | 1.11 | 0.13 | False | | |
    | | 5.29 μs | 6.45 μs | 1.22 | 0.07 | True | | |

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: DeepTree)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: Json4KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: LotsOfNumbers)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: Json40KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json40KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json4KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: Json400B)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: LotsOfStrings)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: DeepTree)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: HelloWorld)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: LotsOfNumbers)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json40KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: Json4KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: BroadTree)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: LotsOfNumbers)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: Json40KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json40KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json400B)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: Json40KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: Json400B)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: DeepTree)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: LotsOfStrings)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: HelloWorld)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json400B)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: HelloWorld)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: LotsOfStrings)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: BroadTree)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json4KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: HelloWorld)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: Json400B)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json400B)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: Json4KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: Json4KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: HelloWorld)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json400B)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: LotsOfStrings)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: LotsOfNumbers)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: LotsOfNumbers)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: LotsOfStrings)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: BroadTree)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: Json400B)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: DeepTree)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: BroadTree)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: HelloWorld)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json4KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: HelloWorld)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: BroadTree)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json4KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json40KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: Json40KB)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: BroadTree)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Tests.Perf_Int32

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    20.03 ns 22.43 ns 1.12 0.15 False
    21.29 ns 23.61 ns 1.11 0.13 False
    16.07 ns 17.81 ns 1.11 0.12 False
    15.51 ns 18.85 ns 1.21 0.04 True
    12.59 ns 14.11 ns 1.12 0.11 False
    12.37 ns 13.72 ns 1.11 0.02 False
    15.54 ns 19.38 ns 1.25 0.03 True
    10.76 ns 14.17 ns 1.32 0.14 True

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Tests.Perf_Int32.ToStringHex(value: -2147483648)

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Int32.ToStringHex(value: 2147483647)

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Int32.ToStringHex(value: 12345)

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Int32.ParseHex(value: "7FFFFFFF")

    ETL Files

    Histogram

    JIT Disasms

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

    ETL Files

    Histogram

    JIT Disasms

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

    ETL Files

    Histogram

    JIT Disasms

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

    ETL Files

    Histogram

    JIT Disasms

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

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Net.Primitives.Tests.CredentialCacheTests

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    388.98 ns 468.92 ns 1.21 0.03 False
    94.92 ns 101.19 ns 1.07 0.09 False
    272.80 ns 336.01 ns 1.23 0.04 False

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Net.Primitives.Tests.CredentialCacheTests*'

    Payloads

    Baseline
    Compare

    System.Net.Primitives.Tests.CredentialCacheTests.GetCredential_Uri(uriString: "http://name5", uriCount: 10)

    ETL Files

    Histogram

    JIT Disasms

    System.Net.Primitives.Tests.CredentialCacheTests.GetCredential_Uri(uriString: "http://notfound", uriCount: 0)

    ETL Files

    Histogram

    JIT Disasms

    System.Net.Primitives.Tests.CredentialCacheTests.GetCredential_Uri(uriString: "http://notfound", uriCount: 10)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.RegularExpressions.Tests.Perf_Regex_Common

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    135.78 ns 154.44 ns 1.14 0.04 False
    1.19 μs 1.29 μs 1.09 0.01 True
    108.10 μs 135.93 μs 1.26 0.03 True
    292.98 ns 360.10 ns 1.23 0.07 False
    490.33 ns 597.41 ns 1.22 0.06 True
    45.07 μs 48.93 μs 1.09 0.10 False
    45.16 μs 51.34 μs 1.14 0.06 False
    230.77 ns 306.93 ns 1.33 0.03 True
    45.52 μs 48.98 μs 1.08 0.05 False
    248.29 ns 302.49 ns 1.22 0.06 True
    855.42 ns 1.02 μs 1.19 0.02 True
    311.61 ns 349.45 ns 1.12 0.06 False
    412.05 ns 495.18 ns 1.20 0.06 True
    22.17 μs 25.87 μs 1.17 0.53 False
    504.66 ns 620.13 ns 1.23 0.06 True
    102.17 μs 112.73 μs 1.10 0.06 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Common*'

    Payloads

    Baseline
    Compare

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsMatch(Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.Backtracking(Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesSet(Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsNotMatch(Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsNotMatch(Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWords(Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsMatch(Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.SplitWords(Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsNotMatch(Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.OneNodeBacktracking(Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsMatch(Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsNotMatch(Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.Ctor(Options: Compiled)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsMatch(Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesBoundary(Options: None)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    376.07 ns 428.71 ns 1.14 0.15 False
    268.21 ns 314.58 ns 1.17 0.18 False
    212.96 ns 240.43 ns 1.13 0.15 False
    346.95 ns 386.96 ns 1.12 0.12 False
    123.68 ns 139.73 ns 1.13 0.24 False
    176.81 ns 203.52 ns 1.15 0.25 False
    169.97 ns 192.08 ns 1.13 0.22 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;SimpleStructWithProperties&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeObjectProperty(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeObjectProperty(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToWriter(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToString(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_ToStream<Location>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    983.15 ns 1.15 μs 1.17 0.03 True
    1.68 μs 2.04 μs 1.22 0.11 True
    650.55 ns 698.68 ns 1.07 0.07 False

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;Location&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_ToStream<Location>.JsonNet_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_ToStream<Location>.DataContractJsonSerializer_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_ToStream<Location>.SystemTextJson_Reflection_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Tests.Perf_Guid

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    16.21 ns 18.78 ns 1.16 0.07 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Tests.Perf_Guid.GuidToString

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<StructRecord>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    429.31 ns 495.97 ns 1.16 0.11 False
    376.25 ns 456.30 ns 1.21 0.04 False
    475.35 ns 505.36 ns 1.06 0.07 False
    530.23 ns 596.07 ns 1.12 0.04 False
    253.35 ns 288.62 ns 1.14 0.07 True
    339.68 ns 379.47 ns 1.12 0.11 False

    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;StructRecord&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeToStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeToString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeObjectProperty(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeObjectProperty(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeToWriter(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeToUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Tests.Perf_DateTimeOffset

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    144.28 ns 166.31 ns 1.15 0.05 False
    184.68 ns 200.42 ns 1.09 0.06 False
    170.16 ns 192.76 ns 1.13 0.05 False

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

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

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_DateTimeOffset.ToString(value: 12/30/2017 3:45:22 AM -08:00)

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_DateTimeOffset.ToString(format: null)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.ComponentModel.Tests.Perf_TypeDescriptorTests

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    138.24 ns 153.85 ns 1.11 0.01 False
    97.03 ns 108.72 ns 1.12 0.02 False
    136.47 ns 153.85 ns 1.13 0.01 False
    140.12 ns 155.74 ns 1.11 0.02 False
    139.97 ns 149.93 ns 1.07 0.02 False
    99.81 ns 110.45 ns 1.11 0.03 False
    135.57 ns 150.67 ns 1.11 0.02 False
    155.45 ns 194.70 ns 1.25 0.35 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.ComponentModel.Tests.Perf_TypeDescriptorTests*'

    Payloads

    Baseline
    Compare

    System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.DerivedClass))

    ETL Files

    Histogram

    JIT Disasms

    System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.ClassWithNoConverter))

    ETL Files

    Histogram

    JIT Disasms

    System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.Guid))

    ETL Files

    Histogram

    JIT Disasms

    System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(int))

    ETL Files

    Histogram

    JIT Disasms

    System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.SomeValueType?))

    ETL Files

    Histogram

    JIT Disasms

    System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(string))

    ETL Files

    Histogram

    JIT Disasms

    System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(int?))

    ETL Files

    Histogram

    JIT Disasms

    System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.SomeEnum))

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.ContainsKeyTrue<String, String>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    10.83 μs 11.52 μs 1.06 0.04 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsKeyTrue&lt;String, String&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.ContainsKeyTrue<String, String>.ConcurrentDictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.ContainsTrueComparer<Int32>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    21.90 μs 29.67 μs 1.36 0.01 False
    18.76 μs 26.66 μs 1.42 0.01 True

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsTrueComparer&lt;Int32&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.ContainsTrueComparer<Int32>.ImmutableSortedSet(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.ContainsTrueComparer<Int32>.SortedSet(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_FromString<Location>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    975.42 ns 1.15 μs 1.18 0.02 True
    1.95 μs 2.10 μs 1.08 0.02 False
    958.77 ns 1.13 μs 1.18 0.01 True

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromString&lt;Location&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_FromString<Location>.SystemTextJson_Reflection_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_FromString<Location>.JsonNet_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_FromString<Location>.SystemTextJson_SourceGen_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.ReadJson<Hashtable>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    35.58 μs 38.10 μs 1.07 0.03 False
    32.13 μs 34.26 μs 1.07 0.03 False
    35.27 μs 38.05 μs 1.08 0.02 False
    31.72 μs 33.88 μs 1.07 0.01 False

    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Hashtable&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.ReadJson<Hashtable>.DeserializeFromReader(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<Hashtable>.DeserializeFromStream(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<Hashtable>.DeserializeFromReader(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<Hashtable>.DeserializeFromString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.ReadJson<TreeRecord>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    25.67 μs 33.42 μs 1.30 0.04 False
    25.47 μs 29.60 μs 1.16 0.02 True
    28.88 μs 32.62 μs 1.13 0.11 False
    31.49 μs 35.70 μs 1.13 0.02 True
    34.74 μs 38.59 μs 1.11 0.30 False
    28.40 μs 32.13 μs 1.13 0.15 False
    25.29 μs 28.37 μs 1.12 0.03 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;TreeRecord&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.ReadJson<TreeRecord>.DeserializeFromStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<TreeRecord>.DeserializeFromUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<TreeRecord>.DeserializeFromStream(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<TreeRecord>.DeserializeFromReader(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<TreeRecord>.DeserializeFromReader(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<TreeRecord>.DeserializeFromUtf8Bytes(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<TreeRecord>.DeserializeFromString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Xml_FromStream<SimpleStructWithProperties>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    503.66 ns 573.55 ns 1.14 0.04 False
    3.47 μs 3.66 μs 1.05 0.04 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;SimpleStructWithProperties&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Xml_FromStream<SimpleStructWithProperties>.DataContractSerializer_BinaryXml_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Xml_FromStream<SimpleStructWithProperties>.XmlSerializer_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Tests.Perf_Uri

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    110.36 ns 127.36 ns 1.15 0.07 False
    379.86 ns 489.44 ns 1.29 0.04 True
    869.81 ns 1.03 μs 1.18 0.02 True
    794.15 ns 977.48 ns 1.23 0.02 True
    384.49 ns 548.50 ns 1.43 0.01 True
    459.40 ns 565.00 ns 1.23 0.01 True
    331.71 ns 369.46 ns 1.11 0.01 False
    122.52 ns 134.67 ns 1.10 0.12 False
    97.28 ns 117.26 ns 1.21 0.02 False
    93.90 ns 115.39 ns 1.23 0.05 True
    137.34 ns 182.96 ns 1.33 0.13 True
    151.58 ns 193.67 ns 1.28 0.13 False
    373.16 ns 489.49 ns 1.31 0.02 True
    54.46 ns 61.21 ns 1.12 0.04 False
    261.57 ns 292.76 ns 1.12 0.00 False
    1.91 μs 2.07 μs 1.09 0.27 False
    44.86 ns 62.70 ns 1.40 0.15 True
    221.27 ns 257.50 ns 1.16 0.02 False
    430.96 ns 472.45 ns 1.10 0.06 False
    465.62 ns 550.18 ns 1.18 0.02 True
    187.44 ns 224.29 ns 1.20 0.04 True
    90.98 ns 112.33 ns 1.23 0.02 False
    447.13 ns 604.33 ns 1.35 0.23 True
    392.35 ns 479.02 ns 1.22 0.01 True
    512.02 ns 685.93 ns 1.34 0.10 True

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Tests.Perf_Uri.UriBuilderReplacePort

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "https://contoso.com/path/with?key=value#fragment")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/path%20with%20escapable%20values?key=%C3%BCnicode")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/path with escapable values?key=ünicode")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/path%20with%20escapable%20values?key=va%20lue")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "https://a.much.longer.domain.name/path/with?key=value#fragment")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.ParseAbsoluteUri

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.BuilderToString

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.Ctor(input: "https://CONTOSO.com")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.Ctor(input: "http://dot.net")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.Ctor(input: "http://xn--hst-sna.with.xn--nicode-2ya")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.Ctor(input: "https://a.much.longer.domain.name")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://dot.net/path/with?key=value#fragment")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.UnescapeDataString(input: "%E4%BD%A0%E5%A5%BD")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.DnsSafeHost

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://höst.with.ünicode/path/with?key=value#fragment")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.UnescapeDataString(input: "abc%20def%20ghi%20")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.Ctor(input: "http://höst.with.ünicode")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://xn--hst-sna.with.xn--nicode-2ya/path/with?key=value#fragment")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.CombineAbsoluteRelative(input: "/new/path")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.Ctor(input: "https://contoso.com")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/path?key1=value1&key2=value2&key3=value3&key4=value4")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "https://CONTOSO.com/path/with?key=value#fragment")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Uri.CtorIdnHostPathAndQuery(input: "http://host/path with escapable values?key=va lue")

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Tests.Perf_Decimal

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    78.01 ns 83.01 ns 1.06 0.30 False
    78.11 ns 87.97 ns 1.13 0.26 False
    59.74 ns 65.55 ns 1.10 0.07 False

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Tests.Perf_Decimal.Parse(value: "123456.789")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Decimal.TryParse(value: "123456.789")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Decimal.ToString(value: 123456.789)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_FromStream<Location>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    2.08 μs 2.30 μs 1.11 0.01 False
    1.02 μs 1.23 μs 1.21 0.01 True
    1.02 μs 1.20 μs 1.18 0.01 True
    8.65 μs 9.76 μs 1.13 0.02 True

    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromStream&lt;Location&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_FromStream<Location>.JsonNet_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_FromStream<Location>.SystemTextJson_Reflection_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_FromStream<Location>.SystemTextJson_SourceGen_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_FromStream<Location>.DataContractJsonSerializer_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    3.88 μs 4.23 μs 1.09 0.04 False
    419.44 ns 493.69 ns 1.18 0.09 False
    434.22 ns 493.86 ns 1.14 0.05 False
    990.68 ns 1.12 μs 1.13 0.03 False

    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromStream&lt;LoginViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.DataContractJsonSerializer_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.SystemTextJson_SourceGen_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.SystemTextJson_Reflection_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.JsonNet_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.ReadJson<ImmutableDictionary<String, String>>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    33.40 μs 35.58 μs 1.07 0.04 False
    32.88 μs 35.33 μs 1.07 0.01 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;ImmutableDictionary&lt;String, String&gt;&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.ReadJson<ImmutableDictionary<String, String>>.DeserializeFromUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<ImmutableDictionary<String, String>>.DeserializeFromUtf8Bytes(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_ToString<IndexViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    14.12 μs 15.36 μs 1.09 0.01 True
    30.14 μs 39.56 μs 1.31 0.06 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToString&lt;IndexViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_ToString<IndexViewModel>.SystemTextJson_Reflection_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_ToString<IndexViewModel>.JsonNet_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.ContainsTrue<String>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    411.82 μs 578.95 μs 1.41 0.39 False
    457.87 μs 502.94 μs 1.10 0.43 False
    425.03 μs 549.05 μs 1.29 0.02 False
    453.73 μs 693.96 μs 1.53 0.35 False
    457.00 μs 586.36 μs 1.28 0.21 True
    415.50 μs 500.71 μs 1.21 0.12 True

    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsTrue&lt;String&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.ContainsTrue<String>.ICollection(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.ContainsTrue<String>.Stack(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.ContainsTrue<String>.Span(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.ContainsTrue<String>.List(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.ContainsTrue<String>.ImmutableArray(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.ContainsTrue<String>.Queue(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Tests.Utf8JsonReaderCommentsTests

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    104.60 ns 113.45 ns 1.08 0.03 False
    86.18 ns 93.65 ns 1.09 0.07 False
    104.09 ns 113.30 ns 1.09 0.05 False
    599.36 ns 646.78 ns 1.08 0.01 False
    106.92 ns 114.37 ns 1.07 0.05 False
    87.80 ns 98.12 ns 1.12 0.07 False
    89.05 ns 97.83 ns 1.10 0.10 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Skip, SegmentSize: 100, TestCase: ShortSingleLine)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 0, TestCase: ShortMultiLine)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 100, TestCase: ShortMultiLine)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 100, TestCase: LongSingleLine)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 100, TestCase: ShortSingleLine)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Skip, SegmentSize: 0, TestCase: ShortSingleLine)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Utf8JsonReaderCommentsTests.Utf8JsonReaderCommentParsing(CommentHandling: Allow, SegmentSize: 0, TestCase: ShortSingleLine)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    390.94 ns 579.04 ns 1.48 0.09 True
    398.22 ns 441.94 ns 1.11 0.06 False
    533.86 ns 658.57 ns 1.23 0.07 True
    591.44 ns 641.31 ns 1.08 0.06 False
    579.68 ns 760.11 ns 1.31 0.06 True
    712.16 ns 912.48 ns 1.28 0.03 True
    478.04 ns 625.92 ns 1.31 0.07 True

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;LargeStructWithProperties&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToWriter(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToString(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeObjectProperty(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeObjectProperty(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    12.25 μs 13.63 μs 1.11 0.03 True
    12.36 μs 14.52 μs 1.17 0.04 False
    11.79 μs 13.00 μs 1.10 0.03 False
    11.91 μs 13.10 μs 1.10 0.03 False
    10.77 μs 12.21 μs 1.13 0.08 False

    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;ImmutableSortedDictionary&lt;String, String&gt;&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeObjectProperty(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToWriter(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Tests.Perf_Get

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    704.21 ns 764.78 ns 1.09 0.02 False
    767.97 ns 873.28 ns 1.14 0.03 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Text.Json.Tests.Perf_Get.GetUInt32

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Get.GetInt32

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Tests.Perf_Encoding

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    3.70 ns 5.04 ns 1.36 0.09 False
    18.12 ns 22.83 ns 1.26 0.03 True
    3.70 ns 4.91 ns 1.33 0.12 False
    18.37 ns 20.55 ns 1.12 0.04 False
    14.89 ns 20.60 ns 1.38 0.10 True

    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Tests.Perf_Encoding*'

    Payloads

    Baseline
    Compare

    System.Text.Tests.Perf_Encoding.GetByteCount(size: 16, encName: "ascii")

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Tests.Perf_Encoding.GetBytes(size: 16, encName: "ascii")

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Tests.Perf_Encoding.GetByteCount(size: 512, encName: "ascii")

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Tests.Perf_Encoding.GetChars(size: 16, encName: "ascii")

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Tests.Perf_Encoding.GetString(size: 16, encName: "ascii")

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    8.21 μs 9.76 μs 1.19 0.01 True
    8.52 μs 9.86 μs 1.16 0.01 True
    8.51 μs 10.00 μs 1.18 0.02 True
    10.28 μs 12.06 μs 1.17 0.02 True
    8.33 μs 9.40 μs 1.13 0.01 True
    10.63 μs 11.98 μs 1.13 0.01 True
    9.74 μs 10.91 μs 1.12 0.00 True
    10.06 μs 11.23 μs 1.12 0.00 True

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;HashSet&lt;String&gt;&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromString(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromReader(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromUtf8Bytes(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromReader(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromStream(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in Microsoft.Extensions.Primitives.StringSegmentBenchmark

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    4.95 ns 9.39 ns 1.90 0.03 True
    6.51 ns 7.53 ns 1.16 0.13 False
    5.47 ns 8.19 ns 1.50 0.10 True
    17.82 ns 21.96 ns 1.23 0.21 False
    1.61 ns 3.76 ns 2.34 0.49 True
    4.57 ns 5.67 ns 1.24 0.23 False
    4.83 ns 9.18 ns 1.90 0.03 True
    8.64 ns 10.53 ns 1.22 0.22 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Primitives.StringSegmentBenchmark*'

    Payloads

    Baseline
    Compare

    Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_Object_Valid

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.Primitives.StringSegmentBenchmark.IndexOfAny

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.Primitives.StringSegmentBenchmark.SubString

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.Primitives.StringSegmentBenchmark.Trim

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.Primitives.StringSegmentBenchmark.SubSegment

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.Primitives.StringSegmentBenchmark.IndexOf

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_Valid

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.Primitives.StringSegmentBenchmark.TrimEnd

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Xml_ToStream<IndexViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    26.78 μs 30.35 μs 1.13 0.01 True
    48.74 μs 55.33 μs 1.14 0.02 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;IndexViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Xml_ToStream<IndexViewModel>.DataContractSerializer_BinaryXml_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Xml_ToStream<IndexViewModel>.DataContractSerializer_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in LinqBenchmarks

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    324.69 ms 348.30 ms 1.07 0.09 False
    175.28 ms 192.74 ms 1.10 0.03 False
    276.72 ms 309.86 ms 1.12 0.01 False
    3.29 secs 3.73 secs 1.13 0.01 False
    98.60 ms 105.97 ms 1.07 0.12 False
    125.35 ms 166.47 ms 1.33 0.23 False
    175.23 ms 192.72 ms 1.10 0.02 False
    326.06 ms 347.79 ms 1.07 0.08 False
    61.50 ms 77.12 ms 1.25 0.02 True
    62.02 ms 76.59 ms 1.24 0.01 True
    141.91 ms 157.91 ms 1.11 0.08 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'LinqBenchmarks*'

    Payloads

    Baseline
    Compare

    LinqBenchmarks.Where00LinqMethodX

    ETL Files

    Histogram

    JIT Disasms

    LinqBenchmarks.Where01LinqMethodX

    ETL Files

    Histogram

    JIT Disasms

    LinqBenchmarks.Where01LinqMethodNestedX

    ETL Files

    Histogram

    JIT Disasms

    LinqBenchmarks.GroupBy00AggregateByX

    ETL Files

    Histogram

    JIT Disasms

    LinqBenchmarks.Order00ManualX

    ETL Files

    Histogram

    JIT Disasms

    LinqBenchmarks.Where01ForX

    ETL Files

    Histogram

    JIT Disasms

    LinqBenchmarks.Where01LinqQueryX

    ETL Files

    Histogram

    JIT Disasms

    LinqBenchmarks.Where00LinqQueryX

    ETL Files

    Histogram

    JIT Disasms

    LinqBenchmarks.Order00LinqMethodX

    ETL Files

    Histogram

    JIT Disasms

    LinqBenchmarks.Order00LinqQueryX

    ETL Files

    Histogram

    JIT Disasms

    LinqBenchmarks.Where00ForX

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.Perf_SubstringFrozenDictionary

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    716.53 ns 798.00 ns 1.11 0.03 True
    8.40 μs 10.40 μs 1.24 0.07 True
    9.81 μs 10.85 μs 1.11 0.01 True

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Perf_SubstringFrozenDictionary*'

    Payloads

    Baseline
    Compare

    System.Collections.Perf_SubstringFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 100)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.Perf_SubstringFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 1000)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.Perf_SubstringFrozenDictionary.ToFrozenDictionary(Count: 100)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.TryGetValueTrue<Int32, Int32>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    21.83 μs 28.64 μs 1.31 0.03 True
    18.33 μs 19.74 μs 1.08 0.03 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueTrue&lt;Int32, Int32&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.TryGetValueTrue<Int32, Int32>.ImmutableSortedDictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.TryGetValueTrue<Int32, Int32>.ImmutableDictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    12.54 μs 13.68 μs 1.09 0.07 False
    12.51 μs 14.12 μs 1.13 0.02 True
    14.40 μs 15.74 μs 1.09 0.14 False
    12.76 μs 14.20 μs 1.11 0.03 True
    9.27 μs 9.83 μs 1.06 0.00 True
    14.14 μs 15.42 μs 1.09 0.09 False
    12.17 μs 13.37 μs 1.10 0.01 True

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;IndexViewModel&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToStream(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeObjectProperty(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToWriter(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToWriter(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    4.57 μs 4.95 μs 1.08 0.01 False
    3.94 μs 4.25 μs 1.08 0.06 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;HashSet&lt;String&gt;&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>.SerializeToString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<HashSet<String>>.SerializeToWriter(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Tests.Perf_Basic

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    803.74 ns 857.26 ns 1.07 0.01 True
    890.40 ns 951.16 ns 1.07 0.01 False
    567.27 ns 629.50 ns 1.11 0.01 False
    756.45 ns 820.23 ns 1.08 0.02 False
    627.26 ns 672.94 ns 1.07 0.01 False
    878.00 ns 925.85 ns 1.05 0.02 False

    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted: True, SkipValidation: False, DataSize: 10)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted: True, SkipValidation: False, DataSize: 10)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted: False, SkipValidation: True, DataSize: 10)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted: True, SkipValidation: True, DataSize: 10)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Basic.WriteBasicUtf8(Formatted: False, SkipValidation: False, DataSize: 10)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Basic.WriteBasicUtf16(Formatted: True, SkipValidation: True, DataSize: 10)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    22.71 μs 24.76 μs 1.09 0.03 False
    21.03 μs 23.34 μs 1.11 0.02 False
    22.95 μs 26.38 μs 1.15 0.01 True
    22.64 μs 25.62 μs 1.13 0.01 True
    20.88 μs 23.99 μs 1.15 0.02 False
    22.04 μs 24.39 μs 1.11 0.02 False
    27.66 μs 31.26 μs 1.13 0.07 False
    27.68 μs 31.20 μs 1.13 0.09 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;IndexViewModel&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromUtf8Bytes(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromStream(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromString(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromReader(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromReader(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    285.92 μs 316.91 μs 1.11 0.04 False
    349.56 μs 395.96 μs 1.13 0.08 False
    241.10 μs 276.39 μs 1.15 0.04 False
    281.11 μs 311.06 μs 1.11 0.04 False
    277.42 μs 316.91 μs 1.14 0.04 False

    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;MyEventsListerViewModel&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToWriter(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToWriter(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToStream(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Xml_ToStream<ClassImplementingIXmlSerialiable>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    252.19 ns 313.99 ns 1.25 0.01 True
    445.64 ns 522.01 ns 1.17 0.03 True

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;ClassImplementingIXmlSerialiable&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Xml_ToStream<ClassImplementingIXmlSerialiable>.DataContractSerializer_BinaryXml_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Xml_ToStream<ClassImplementingIXmlSerialiable>.DataContractSerializer_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    4.00 secs 5.60 secs 1.40 0.13 True
    817.63 ms 941.41 ms 1.15 0.06 False
    373.89 ms 440.56 ms 1.18 0.10 False
    4.01 secs 5.76 secs 1.43 0.06 True
    12.79 ms 16.20 ms 1.27 0.45 False

    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig*'

    Payloads

    Baseline
    Compare

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: ".{2,4}(Tom|Sawyer|Huckleberry|Finn)", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: "([A-Za-z]awyer|[A-Za-z]inn)\s", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: "(?i)Tom|Sawyer|Huckleberry|Finn", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: ".{0,2}(Tom|Sawyer|Huckleberry|Finn)", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Leipzig.Count(Pattern: "Tom|Sawyer|Huckleberry|Finn", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Buffers.Text.Tests.Utf8ParserTests

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    12.96 ns 18.07 ns 1.39 0.08 True
    3.15 ns 4.72 ns 1.50 0.07 False
    68.70 ns 73.94 ns 1.08 0.06 False
    3.10 ns 4.68 ns 1.51 0.02 True
    52.32 ns 55.85 ns 1.07 0.01 True
    67.47 ns 73.28 ns 1.09 0.12 False
    3.36 ns 4.39 ns 1.31 0.01 True
    5.39 ns 6.67 ns 1.24 0.01 True
    52.69 ns 56.53 ns 1.07 0.01 False
    5.38 ns 6.98 ns 1.30 0.03 True
    3.43 ns 4.77 ns 1.39 0.03 True

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

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

    ETL Files

    Histogram

    JIT Disasms

    System.Buffers.Text.Tests.Utf8ParserTests.TryParseInt32(value: 4)

    ETL Files

    Histogram

    JIT Disasms

    System.Buffers.Text.Tests.Utf8ParserTests.TryParseDouble(value: -1.7976931348623157e+308)

    ETL Files

    Histogram

    JIT Disasms

    System.Buffers.Text.Tests.Utf8ParserTests.TryParseInt16(value: 0)

    ETL Files

    Histogram

    JIT Disasms

    System.Buffers.Text.Tests.Utf8ParserTests.TryParseSingle(value: 3.4028235E+38)

    ETL Files

    Histogram

    JIT Disasms

    System.Buffers.Text.Tests.Utf8ParserTests.TryParseDouble(value: 1.7976931348623157e+308)

    ETL Files

    Histogram

    JIT Disasms

    System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt64Hex(value: 0)

    ETL Files

    Histogram

    JIT Disasms

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

    ETL Files

    Histogram

    JIT Disasms

    System.Buffers.Text.Tests.Utf8ParserTests.TryParseSingle(value: -3.4028235E+38)

    ETL Files

    Histogram

    JIT Disasms

    System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt64Hex(value: 3039)

    ETL Files

    Histogram

    JIT Disasms

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

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Tests.Perf_Int64

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    13.01 ns 14.23 ns 1.09 0.02 True
    15.54 ns 16.84 ns 1.08 0.03 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

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

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Int64.TryFormat(value: 9223372036854775807)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.ReadJson<ArrayList>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    19.61 μs 21.01 μs 1.07 0.01 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;ArrayList&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromReader(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    12.31 μs 13.55 μs 1.10 0.05 False
    53.59 μs 77.50 μs 1.45 0.18 True
    30.40 μs 35.95 μs 1.18 0.03 True
    12.56 μs 13.94 μs 1.11 0.00 True

    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;IndexViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>.SystemTextJson_SourceGen_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>.DataContractJsonSerializer_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>.JsonNet_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>.SystemTextJson_Reflection_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    341.94 ns 419.97 ns 1.23 0.14 False
    265.63 ns 329.56 ns 1.24 0.08 True
    451.24 ns 522.64 ns 1.16 0.10 False
    271.28 ns 291.41 ns 1.07 0.12 False
    560.87 ns 618.73 ns 1.10 0.06 False
    473.02 ns 526.49 ns 1.11 0.05 False
    374.94 ns 453.11 ns 1.21 0.10 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;ClassRecord&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeToUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeToWriter(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeToStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeToUtf8Bytes(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeObjectProperty(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeObjectProperty(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ClassRecord>.SerializeToString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.IO.Tests.StringReaderReadLineTests

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    15.92 μs 18.73 μs 1.18 0.02 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.StringReaderReadLineTests*'

    Payloads

    Baseline
    Compare

    System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange: [ 9, 32])

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Tests.Perf_Enum

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    11.97 ns 15.37 ns 1.28 0.32 False
    36.41 ns 40.65 ns 1.12 0.08 False
    16.72 ns 19.46 ns 1.16 0.20 False
    6.57 ns 9.28 ns 1.41 0.36 False
    1.87 ns 3.13 ns 1.68 0.10 False
    14.56 ns 17.27 ns 1.19 0.14 False
    2.53 ns 5.83 ns 2.31 0.07 True
    178.07 ns 199.48 ns 1.12 0.05 False
    17.12 ns 19.02 ns 1.11 0.31 False
    11.27 ns 13.66 ns 1.21 0.33 False
    12.92 ns 14.73 ns 1.14 0.29 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Tests.Perf_Enum.ToString_Format_NonFlags(value: Monday, format: "g")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Enum.GetValues_Generic

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Enum.ToString_Format_Flags_Large(value: All, format: "f")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Enum.GetName_Generic_Flags

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Enum.IsDefined_Generic_NonFlags

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Enum.GetNames_Generic

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Enum.GetName_Generic_NonFlags

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Enum.Parse_Flags(text: "Red, Orange, Yellow, Green, Blue")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Enum.ToString_Format_Flags_Large(value: All, format: "")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Enum.ToString_Format_NonFlags(value: Tuesday, format: "d")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Enum.ToString_Format_NonFlags(value: Sunday, format: "")

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Threading.Tasks.ValueTaskPerfTest

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    9.60 ns 10.98 ns 1.14 0.41 False
    10.17 ns 11.19 ns 1.10 0.31 False
    9.51 ns 10.95 ns 1.15 0.43 False
    11.91 ns 15.30 ns 1.29 0.42 False
    9.00 ns 11.66 ns 1.30 0.11 False
    17.53 ns 19.49 ns 1.11 0.30 False
    18.75 ns 27.57 ns 1.47 0.33 True
    14.49 ns 24.62 ns 1.70 0.28 True

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Threading.Tasks.ValueTaskPerfTest*'

    Payloads

    Baseline
    Compare

    System.Threading.Tasks.ValueTaskPerfTest.CreateAndAwait_FromResult

    ETL Files

    Histogram

    JIT Disasms

    System.Threading.Tasks.ValueTaskPerfTest.CreateAndAwait_FromResult_ConfigureAwait

    ETL Files

    Histogram

    JIT Disasms

    System.Threading.Tasks.ValueTaskPerfTest.Await_FromResult

    ETL Files

    Histogram

    JIT Disasms

    System.Threading.Tasks.ValueTaskPerfTest.CreateAndAwait_FromCompletedTask

    ETL Files

    Histogram

    JIT Disasms

    System.Threading.Tasks.ValueTaskPerfTest.Copy_PassAsArgumentAndReturn_FromValueTaskSource

    ETL Files

    Histogram

    JIT Disasms

    System.Threading.Tasks.ValueTaskPerfTest.Await_FromCompletedTask

    ETL Files

    Histogram

    JIT Disasms

    System.Threading.Tasks.ValueTaskPerfTest.CreateAndAwait_FromCompletedValueTaskSource_ConfigureAwait

    ETL Files

    Histogram

    JIT Disasms

    System.Threading.Tasks.ValueTaskPerfTest.CreateAndAwait_FromCompletedValueTaskSource

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_FromString<LoginViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    398.45 ns 430.38 ns 1.08 0.07 False
    408.80 ns 462.15 ns 1.13 0.11 False
    792.27 ns 934.64 ns 1.18 0.19 False

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromString&lt;LoginViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_FromString<LoginViewModel>.SystemTextJson_SourceGen_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_FromString<LoginViewModel>.SystemTextJson_Reflection_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_FromString<LoginViewModel>.JsonNet_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Linq.Tests.Perf_OrderBy

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    46.47 μs 69.10 μs 1.49 0.38 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Linq.Tests.Perf_OrderBy*'

    Payloads

    Baseline
    Compare

    System.Linq.Tests.Perf_OrderBy.OrderByCustomComparer(NumberOfPeople: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Tests.Perf_UInt64

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    11.32 ns 14.72 ns 1.30 0.05 True
    15.18 ns 16.47 ns 1.08 0.03 False
    23.49 ns 31.43 ns 1.34 0.19 True

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

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

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_UInt64.TryFormat(value: 18446744073709551615)

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_UInt64.TryParseHex(value: "FFFFFFFFFFFFFFFF")

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Tests.Perf_Single

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    83.95 ns 90.35 ns 1.08 0.19 False
    75.12 ns 88.00 ns 1.17 0.28 False
    76.08 ns 86.95 ns 1.14 0.28 False
    81.80 ns 90.13 ns 1.10 0.16 False

    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Tests.Perf_Single.Parse(value: "-3.4028235E+38")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Single.TryParse(value: "3.4028235E+38")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Single.Parse(value: "3.4028235E+38")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Single.TryParse(value: "-3.4028235E+38")

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    633.97 ns 704.79 ns 1.11 0.03 False
    539.13 ns 601.76 ns 1.12 0.01 True
    337.43 ns 383.42 ns 1.14 0.03 True
    405.58 ns 456.58 ns 1.13 0.05 False
    548.89 ns 598.62 ns 1.09 0.02 True
    650.05 ns 714.72 ns 1.10 0.03 False
    418.85 ns 470.98 ns 1.12 0.08 False
    333.04 ns 375.07 ns 1.13 0.01 True

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;LoginViewModel&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromStream(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromReader(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromString(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromReader(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<LoginViewModel>.DeserializeFromUtf8Bytes(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Xml.Linq.Perf_XElement

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    46.05 ns 51.59 ns 1.12 0.12 False
    50.84 ns 57.10 ns 1.12 0.16 False
    23.33 ns 28.65 ns 1.23 0.17 False
    11.89 ns 15.01 ns 1.26 0.43 False
    75.67 ns 88.75 ns 1.17 0.10 False

    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Xml.Linq.Perf_XElement*'

    Payloads

    Baseline
    Compare

    System.Xml.Linq.Perf_XElement.CreateWithElements

    ETL Files

    Histogram

    JIT Disasms

    System.Xml.Linq.Perf_XElement.CreateElementWithNamespace

    ETL Files

    Histogram

    JIT Disasms

    System.Xml.Linq.Perf_XElement.CreateElement

    ETL Files

    Histogram

    JIT Disasms

    System.Xml.Linq.Perf_XElement.GetAttribute

    ETL Files

    Histogram

    JIT Disasms

    System.Xml.Linq.Perf_XElement.CreateElementsWithNamespace

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_FromString<IndexViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    51.70 μs 58.60 μs 1.13 0.03 False
    22.78 μs 25.02 μs 1.10 0.02 False
    21.99 μs 24.75 μs 1.13 0.01 True

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromString&lt;IndexViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_FromString<IndexViewModel>.JsonNet_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_FromString<IndexViewModel>.SystemTextJson_Reflection_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_FromString<IndexViewModel>.SystemTextJson_SourceGen_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Tests.Perf_UInt32

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    15.21 ns 17.31 ns 1.14 0.10 False
    11.15 ns 14.61 ns 1.31 0.13 True
    15.17 ns 17.19 ns 1.13 0.05 False
    15.06 ns 16.97 ns 1.13 0.09 False
    15.99 ns 19.08 ns 1.19 0.01 True

    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

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

    ETL Files

    Histogram

    JIT Disasms

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

    ETL Files

    Histogram

    JIT Disasms

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

    ETL Files

    Histogram

    JIT Disasms

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

    ETL Files

    Histogram

    JIT Disasms

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

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<ArrayList>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    5.24 μs 6.02 μs 1.15 0.07 False
    5.22 μs 6.11 μs 1.17 0.09 False
    5.51 μs 6.55 μs 1.19 0.06 False
    4.88 μs 5.78 μs 1.18 0.06 False
    5.52 μs 6.53 μs 1.18 0.03 True
    5.21 μs 6.08 μs 1.17 0.05 False
    5.16 μs 6.37 μs 1.23 0.06 False
    4.93 μs 5.80 μs 1.18 0.10 False
    5.69 μs 6.35 μs 1.12 0.03 False
    5.72 μs 6.38 μs 1.12 0.06 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;ArrayList&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToStream(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToString(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToWriter(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToUtf8Bytes(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToWriter(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeObjectProperty(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeObjectProperty(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    216.53 ns 241.03 ns 1.11 0.03 False
    24.69 ns 30.91 ns 1.25 0.20 False
    18.44 ns 21.84 ns 1.18 0.22 False
    51.22 ns 64.91 ns 1.27 0.30 False
    19.01 ns 23.60 ns 1.24 0.19 False
    25.46 ns 30.64 ns 1.20 0.15 False
    27.03 ns 30.41 ns 1.13 0.18 False
    23.08 ns 27.91 ns 1.21 0.16 False
    22.17 ns 24.86 ns 1.12 0.23 False
    15.09 ns 19.95 ns 1.32 0.20 True

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark*'

    Payloads

    Baseline
    Compare

    Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.CreateInstance_4

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.Factory_1Injected_2Explicit

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.GetService_1Injected

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.Factory_3Injected

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.GetService_2Injected

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.Factory_1Injected_2Explicit_OutOfOrder

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.GetService_5Injected

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.GetService_4Injected

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.GetService_3Injected

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.GetService_0Injected

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.ReadJson<Location>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    890.54 ns 1.10 μs 1.23 0.09 False
    1.24 μs 1.44 μs 1.16 0.02 True
    1.34 μs 1.55 μs 1.16 0.02 True
    983.39 ns 1.17 μs 1.18 0.02 True
    885.84 ns 1.06 μs 1.19 0.01 True
    1.38 μs 1.59 μs 1.15 0.01 True
    1.26 μs 1.46 μs 1.16 0.06 True
    992.68 ns 1.15 μs 1.16 0.02 True

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Location&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromStream(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromReader(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromString(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromUtf8Bytes(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromReader(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Globalization.Tests.Perf_DateTimeCultureInfo

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    115.53 ns 129.50 ns 1.12 0.07 False
    102.87 ns 130.61 ns 1.27 0.08 True
    114.22 ns 134.64 ns 1.18 0.09 False
    108.34 ns 131.33 ns 1.21 0.13 False
    244.84 ns 309.85 ns 1.27 0.04 True

    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: ja)

    ETL Files

    Histogram

    JIT Disasms

    System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: da)

    ETL Files

    Histogram

    JIT Disasms

    System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: fr)

    ETL Files

    Histogram

    JIT Disasms

    System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: )

    ETL Files

    Histogram

    JIT Disasms

    System.Globalization.Tests.Perf_DateTimeCultureInfo.ToStringHebrewIsrael

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<Location>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    846.27 ns 913.08 ns 1.08 0.02 False
    650.73 ns 727.86 ns 1.12 0.02 False
    616.46 ns 671.00 ns 1.09 0.02 False
    501.32 ns 596.31 ns 1.19 0.05 True
    719.91 ns 800.34 ns 1.11 0.03 False

    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Location&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<Location>.SerializeObjectProperty(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<Location>.SerializeToString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<Location>.SerializeToUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<Location>.SerializeToWriter(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<Location>.SerializeToStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in Microsoft.Extensions.DependencyInjection.GetService

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    11.43 ns 15.79 ns 1.38 0.28 True
    15.74 ns 22.33 ns 1.42 0.13 True

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.GetService*'

    Payloads

    Baseline
    Compare

    Microsoft.Extensions.DependencyInjection.GetService.Singleton

    ETL Files

    Histogram

    JIT Disasms

    Microsoft.Extensions.DependencyInjection.GetService.Transient

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.ContainsTrue<Int32>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    22.58 μs 30.90 μs 1.37 0.01 False
    15.95 μs 18.85 μs 1.18 0.14 False
    18.32 μs 25.77 μs 1.41 0.01 True

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsTrue&lt;Int32&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.ContainsTrue<Int32>.ImmutableSortedSet(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.ContainsTrue<Int32>.Span(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.ContainsTrue<Int32>.SortedSet(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.Perf_Frozen<NotKnownComparable>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    3.89 μs 4.38 μs 1.13 0.03 True

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Perf_Frozen&lt;NotKnownComparable&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.Perf_Frozen<NotKnownComparable>.ToFrozenSet(Count: 64)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Xml_FromStream<MyEventsListerViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    699.15 μs 784.01 μs 1.12 0.01 True

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;MyEventsListerViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Xml_FromStream<MyEventsListerViewModel>.XmlSerializer_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.AddGivenSize<Int32>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    4.35 μs 4.61 μs 1.06 0.05 False
    4.37 μs 5.07 μs 1.16 0.06 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.AddGivenSize&lt;Int32&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.AddGivenSize<Int32>.IDictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.AddGivenSize<Int32>.Dictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    2.51 ms 2.78 ms 1.10 0.02 True
    7.64 μs 8.55 μs 1.12 0.02 False
    1.94 μs 2.16 μs 1.12 0.03 False
    25.33 ms 28.06 ms 1.11 0.01 True

    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas*'

    Payloads

    Baseline
    Compare

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Count(Pattern: "[\w]+://[^/\\s?#]+[^\\s?#]+(?:\?[^\\s#])?(?:#[^\\s])?", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Ctor(Pattern: "(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9])", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Ctor(Pattern: "[\w\.+-]+@[\w\.-]+\.[\w\.-]+", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_Mariomkas.Count(Pattern: "(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9])", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Xml.Linq.Perf_XDocument

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    39.37 ns 44.35 ns 1.13 0.14 False
    18.53 ns 22.41 ns 1.21 0.50 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Xml.Linq.Perf_XDocument*'

    Payloads

    Baseline
    Compare

    System.Xml.Linq.Perf_XDocument.CreateWithRootlEement

    ETL Files

    Histogram

    JIT Disasms

    System.Xml.Linq.Perf_XDocument.GetElement

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.ContainsKeyFalse<String, String>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    8.42 μs 9.11 μs 1.08 0.01 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsKeyFalse&lt;String, String&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.ContainsKeyFalse<String, String>.ConcurrentDictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive<Location>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    967.97 ns 1.15 μs 1.19 0.03 True
    995.76 ns 1.16 μs 1.17 0.03 True
    633.00 ns 786.33 ns 1.24 0.06 True
    1.00 μs 1.16 μs 1.15 0.03 True

    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive&lt;Location&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive<Location>.CaseInsensitiveNotMatching

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive<Location>.Baseline

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive<Location>.MissingProperties

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadMissingAndCaseInsensitive<Location>.CaseInsensitiveMatching

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.IO.Tests.BinaryReaderTests

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    36.55 ns 41.23 ns 1.13 0.06 False
    88.61 ns 102.11 ns 1.15 0.03 True
    304.00 ns 338.64 ns 1.11 0.03 False
    17.56 ns 19.38 ns 1.10 0.08 False

    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.BinaryReaderTests*'

    Payloads

    Baseline
    Compare

    System.IO.Tests.BinaryReaderTests.ReadSmallString

    ETL Files

    Histogram

    JIT Disasms

    System.IO.Tests.BinaryReaderTests.ReadNonAsciiChar

    ETL Files

    Histogram

    JIT Disasms

    System.IO.Tests.BinaryReaderTests.ReadLargeString

    ETL Files

    Histogram

    JIT Disasms

    System.IO.Tests.BinaryReaderTests.ReadAsciiChar

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    279.27 μs 319.18 μs 1.14 0.03 False
    501.79 μs 550.15 μs 1.10 0.05 False
    281.92 μs 317.58 μs 1.13 0.18 False
    517.14 μs 600.39 μs 1.16 0.02 True

    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;MyEventsListerViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>.SystemTextJson_SourceGen_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>.JsonNet_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>.SystemTextJson_Reflection_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>.DataContractJsonSerializer_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Xml_FromStream<IndexViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    48.73 μs 54.74 μs 1.12 0.02 False
    69.90 μs 77.08 μs 1.10 0.00 True
    127.40 μs 140.94 μs 1.11 0.01 True

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;IndexViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Xml_FromStream<IndexViewModel>.DataContractSerializer_BinaryXml_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Xml_FromStream<IndexViewModel>.XmlSerializer_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Xml_FromStream<IndexViewModel>.DataContractSerializer_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    495.62 ns 532.15 ns 1.07 0.05 False
    424.99 ns 480.00 ns 1.13 0.01 True
    243.54 ns 283.49 ns 1.16 0.02 True
    494.90 ns 551.19 ns 1.11 0.09 False
    314.66 ns 357.15 ns 1.14 0.20 False
    436.82 ns 477.08 ns 1.09 0.02 True
    306.87 ns 326.46 ns 1.06 0.12 False
    246.90 ns 276.00 ns 1.12 0.02 True

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;SimpleStructWithProperties&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromStream(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromReader(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromReader(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromString(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromUtf8Bytes(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Document.Tests.Perf_EnumerateObject

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    479.07 ns 679.63 ns 1.42 0.00 True
    478.96 ns 684.54 ns 1.43 0.00 True
    9.49 μs 11.48 μs 1.21 0.03 True
    12.89 μs 14.09 μs 1.09 0.08 False
    468.53 μs 593.89 μs 1.27 0.15 True

    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Text.Json.Document.Tests.Perf_EnumerateObject.EnumerateProperties(TestCase: NumericProperties)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Document.Tests.Perf_EnumerateObject.EnumerateProperties(TestCase: StringProperties)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Document.Tests.Perf_EnumerateObject.Parse(TestCase: StringProperties)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Document.Tests.Perf_EnumerateObject.Parse(TestCase: NumericProperties)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Document.Tests.Perf_EnumerateObject.Parse(TestCase: ObjectProperties)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Memory.Span<Char>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    2.41 ns 3.74 ns 1.55 0.05 True
    2.23 ns 3.48 ns 1.56 0.12 False
    6.59 ns 7.73 ns 1.17 0.08 False
    2.96 ns 4.02 ns 1.36 0.11 True
    4.47 ns 5.96 ns 1.34 0.07 False
    6.34 ns 7.64 ns 1.21 0.07 True
    3.93 ns 6.11 ns 1.55 0.08 False
    24.58 ns 26.48 ns 1.08 0.22 False
    1.55 ns 3.98 ns 2.57 0.04 True
    3.47 ns 4.71 ns 1.36 0.06 False
    6.74 ns 8.24 ns 1.22 0.14 False
    2.22 ns 4.35 ns 1.96 0.02 True

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span&lt;Char&gt;*'

    Payloads

    Baseline
    Compare

    System.Memory.Span<Char>.LastIndexOfAnyValues(Size: 4)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Char>.EndsWith(Size: 4)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Char>.ToArray(Size: 4)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Char>.StartsWith(Size: 4)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Char>.StartsWith(Size: 33)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Char>.SequenceCompareToDifferent(Size: 4)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Char>.SequenceEqual(Size: 4)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Char>.SequenceCompareTo(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Char>.LastIndexOfValue(Size: 4)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Char>.IndexOfAnyTwoValues(Size: 4)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Char>.SequenceCompareToDifferent(Size: 33)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Char>.IndexOfValue(Size: 4)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in CscBench

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    252.01 ms 298.44 ms 1.18 0.10 False
    332.00 ms 371.42 ms 1.12 0.10 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'CscBench*'

    Payloads

    Baseline
    Compare

    CscBench.CompileTest

    ETL Files

    Histogram

    JIT Disasms

    CscBench.DatflowTest

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Xml_FromStream<ClassImplementingIXmlSerialiable>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    529.05 ns 612.05 ns 1.16 0.03 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;ClassImplementingIXmlSerialiable&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Xml_FromStream<ClassImplementingIXmlSerialiable>.DataContractSerializer_BinaryXml_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.CtorFromCollectionNonGeneric<Int32>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    54.35 μs 70.18 μs 1.29 0.11 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorFromCollectionNonGeneric&lt;Int32&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.CtorFromCollectionNonGeneric<Int32>.SortedList(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.Perf_LengthBucketsFrozenDictionary

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    11.34 μs 14.77 μs 1.30 0.02 True
    258.78 ns 352.10 ns 1.36 0.02 True
    1.49 μs 1.63 μs 1.09 0.02 False
    105.55 ns 142.14 ns 1.35 0.03 True
    1.14 μs 1.49 μs 1.31 0.08 True

    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Perf_LengthBucketsFrozenDictionary*'

    Payloads

    Baseline
    Compare

    System.Collections.Perf_LengthBucketsFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 1000, ItemsPerBucket: 5)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.Perf_LengthBucketsFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 100, ItemsPerBucket: 1)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.Perf_LengthBucketsFrozenDictionary.ToFrozenDictionary(Count: 100, ItemsPerBucket: 5)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.Perf_LengthBucketsFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 10, ItemsPerBucket: 5)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.Perf_LengthBucketsFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 100, ItemsPerBucket: 5)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    17.09 μs 20.86 μs 1.22 0.08 False
    16.69 μs 19.54 μs 1.17 0.12 False
    16.21 μs 17.87 μs 1.10 0.19 False
    17.43 μs 20.02 μs 1.15 0.07 False
    17.47 μs 19.76 μs 1.13 0.07 False

    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;ImmutableDictionary&lt;String, String&gt;&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeObjectProperty(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeToStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeToWriter(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeToString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeToUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.IterateForEach<Int32>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    4.73 μs 6.92 μs 1.46 0.08 True
    5.52 μs 7.31 μs 1.32 0.07 True
    2.45 μs 2.81 μs 1.15 0.14 False
    647.64 ns 746.57 ns 1.15 0.00 True
    4.31 μs 6.42 μs 1.49 0.27 True
    3.77 μs 5.00 μs 1.33 0.45 False

    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForEach&lt;Int32&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.IterateForEach<Int32>.ImmutableSortedSet(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.IterateForEach<Int32>.SortedDictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.IterateForEach<Int32>.SortedSet(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.IterateForEach<Int32>.HashSet(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.IterateForEach<Int32>.ImmutableList(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.IterateForEach<Int32>.ImmutableSortedDictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.ReadJson<StructRecord>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    496.01 ns 576.26 ns 1.16 0.01 True
    794.20 ns 889.62 ns 1.12 0.07 False
    590.22 ns 700.21 ns 1.19 0.21 False
    841.77 ns 956.93 ns 1.14 0.09 False
    588.48 ns 645.83 ns 1.10 0.01 True
    824.67 ns 932.52 ns 1.13 0.09 False
    805.24 ns 930.05 ns 1.15 0.02 True
    514.36 ns 611.86 ns 1.19 0.20 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;StructRecord&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromUtf8Bytes(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromStream(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromReader(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromString(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromReader(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Xml_ToStream<CollectionsOfPrimitives>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    230.55 μs 269.29 μs 1.17 0.03 True
    435.02 μs 480.09 μs 1.10 0.01 True

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;CollectionsOfPrimitives&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Xml_ToStream<CollectionsOfPrimitives>.DataContractSerializer_BinaryXml_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Xml_ToStream<CollectionsOfPrimitives>.DataContractSerializer_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Xml.Linq.Perf_XElementList

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    163.24 ns 202.63 ns 1.24 0.02 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Xml.Linq.Perf_XElementList*'

    Payloads

    Baseline
    Compare

    System.Xml.Linq.Perf_XElementList.Enumerator

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.Perf_Frozen<ReferenceType>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    4.88 μs 5.63 μs 1.15 0.15 False
    50.62 μs 54.93 μs 1.09 0.29 False
    4.04 μs 4.71 μs 1.17 0.03 False

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Perf_Frozen&lt;ReferenceType&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.Perf_Frozen<ReferenceType>.ToFrozenSet(Count: 64)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.Perf_Frozen<ReferenceType>.ToFrozenSet(Count: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.Perf_Frozen<ReferenceType>.ToFrozenDictionary(Count: 64)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.CtorFromCollection<String>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    4.75 μs 5.13 μs 1.08 0.21 False
    55.08 μs 61.21 μs 1.11 0.13 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorFromCollection&lt;String&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.CtorFromCollection<String>.Dictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.CtorFromCollection<String>.FrozenDictionaryOptimized(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Threading.Tests.Perf_SemaphoreSlim

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    44.93 ns 48.57 ns 1.08 0.07 False
    42.42 ns 44.77 ns 1.06 0.02 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Threading.Tests.Perf_SemaphoreSlim*'

    Payloads

    Baseline
    Compare

    System.Threading.Tests.Perf_SemaphoreSlim.ReleaseWait

    ETL Files

    Histogram

    JIT Disasms

    System.Threading.Tests.Perf_SemaphoreSlim.ReleaseWaitAsync

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Memory.Span<Int32>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    5.36 ns 7.81 ns 1.46 0.13 False
    10.16 ns 13.76 ns 1.35 0.02 False
    891.25 ns 1.21 μs 1.36 0.03 False
    1.45 ns 2.88 ns 1.98 0.06 False
    7.71 ns 8.75 ns 1.14 0.11 False
    973.36 ns 1.24 μs 1.27 0.03 False
    57.46 ns 77.55 ns 1.35 0.04 False
    61.90 ns 94.71 ns 1.53 0.12 False
    9.72 ns 12.53 ns 1.29 0.02 True
    37.59 ns 40.86 ns 1.09 0.18 False
    42.09 ns 45.71 ns 1.09 0.09 False
    28.01 ns 32.16 ns 1.15 0.27 False
    7.03 ns 8.73 ns 1.24 0.07 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span&lt;Int32&gt;*'

    Payloads

    Baseline
    Compare

    System.Memory.Span<Int32>.SequenceEqual(Size: 33)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Int32>.IndexOfAnyFiveValues(Size: 4)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Int32>.IndexOfAnyFourValues(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Int32>.StartsWith(Size: 4)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Int32>.SequenceCompareTo(Size: 4)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Int32>.IndexOfAnyFiveValues(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Int32>.IndexOfAnyFourValues(Size: 33)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Int32>.IndexOfAnyFiveValues(Size: 33)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Int32>.IndexOfAnyFourValues(Size: 4)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Int32>.SequenceCompareTo(Size: 33)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Int32>.SequenceEqual(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Int32>.LastIndexOfValue(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Memory.Span<Int32>.ToArray(Size: 4)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Xml_FromStream<CollectionsOfPrimitives>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    463.02 μs 516.66 μs 1.12 0.03 True
    396.17 μs 418.61 μs 1.06 0.05 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;CollectionsOfPrimitives&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Xml_FromStream<CollectionsOfPrimitives>.XmlSerializer_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Xml_FromStream<CollectionsOfPrimitives>.DataContractSerializer_BinaryXml_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_ToString<LoginViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    466.76 ns 533.86 ns 1.14 0.02 False
    291.41 ns 317.66 ns 1.09 0.10 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToString&lt;LoginViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_ToString<LoginViewModel>.JsonNet_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_ToString<LoginViewModel>.SystemTextJson_Reflection_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_ToStream<CollectionsOfPrimitives>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    839.38 μs 910.06 μs 1.08 0.30 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;CollectionsOfPrimitives&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_ToStream<CollectionsOfPrimitives>.DataContractJsonSerializer_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_ToStream<LoginViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    406.97 ns 472.34 ns 1.16 0.01 True
    698.70 ns 842.86 ns 1.21 0.07 True

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;LoginViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_ToStream<LoginViewModel>.JsonNet_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_ToStream<LoginViewModel>.DataContractJsonSerializer_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.CtorFromCollection<Int32>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    4.85 μs 5.12 μs 1.06 0.08 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorFromCollection&lt;Int32&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.CtorFromCollection<Int32>.HashSet(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.ContainsFalse<String>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    994.58 μs 1.08 ms 1.09 0.04 False
    925.31 μs 1.24 ms 1.34 0.11 True
    998.46 μs 1.20 ms 1.20 0.11 False
    861.27 μs 1.11 ms 1.28 0.02 False
    915.32 μs 1.17 ms 1.28 0.04 True
    917.75 μs 1.23 ms 1.34 0.07 True

    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsFalse&lt;String&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.ContainsFalse<String>.ICollection(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.ContainsFalse<String>.Queue(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.ContainsFalse<String>.ImmutableArray(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.ContainsFalse<String>.Span(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.ContainsFalse<String>.Stack(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.ContainsFalse<String>.List(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.Perf_DefaultFrozenDictionary

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    16.80 μs 20.66 μs 1.23 0.15 False
    10.49 μs 12.11 μs 1.16 0.02 True

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Perf_DefaultFrozenDictionary*'

    Payloads

    Baseline
    Compare

    System.Collections.Perf_DefaultFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 1000)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.Perf_DefaultFrozenDictionary.ToFrozenDictionary(Count: 100)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Memory.ReadOnlySpan

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    7.77 ns 9.24 ns 1.19 0.04 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Memory.ReadOnlySpan.Trim(input: " abcdefg ")

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Xml_FromStream<LoginViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    3.81 μs 4.10 μs 1.08 0.03 False
    803.02 ns 890.42 ns 1.11 0.02 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;LoginViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Xml_FromStream<LoginViewModel>.XmlSerializer_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Xml_FromStream<LoginViewModel>.DataContractSerializer_BinaryXml_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Net.Tests.Perf_WebUtility

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    84.01 ns 108.31 ns 1.29 0.11 True
    52.07 ns 81.28 ns 1.56 0.37 True
    147.43 ns 164.87 ns 1.12 0.07 False

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Net.Tests.Perf_WebUtility.Decode_DecodingRequired

    ETL Files

    Histogram

    JIT Disasms

    System.Net.Tests.Perf_WebUtility.Decode_NoDecodingRequired

    ETL Files

    Histogram

    JIT Disasms

    System.Net.Tests.Perf_WebUtility.HtmlDecode_Entities

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in Benchstone.MDBenchI.MDPuzzle

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    532.88 ms 599.53 ms 1.13 0.00 True

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Benchstone.MDBenchI.MDPuzzle*'

    Payloads

    Baseline
    Compare

    Benchstone.MDBenchI.MDPuzzle.Test

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_FromStream<IndexViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    53.32 μs 59.46 μs 1.12 0.03 False
    239.16 μs 272.19 μs 1.14 0.01 True
    23.15 μs 25.42 μs 1.10 0.02 True
    22.63 μs 25.49 μs 1.13 0.02 True

    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromStream&lt;IndexViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_FromStream<IndexViewModel>.JsonNet_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_FromStream<IndexViewModel>.DataContractJsonSerializer_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_FromStream<IndexViewModel>.SystemTextJson_Reflection_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Json_FromStream<IndexViewModel>.SystemTextJson_SourceGen_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    12.01 μs 13.21 μs 1.10 0.07 False
    12.39 μs 13.30 μs 1.07 0.07 False
    12.51 μs 13.36 μs 1.07 0.08 False
    12.19 μs 13.90 μs 1.14 0.07 False
    12.09 μs 13.64 μs 1.13 0.07 False
    12.37 μs 13.12 μs 1.06 0.06 False
    12.33 μs 13.00 μs 1.05 0.10 False
    12.54 μs 13.88 μs 1.11 0.04 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;TreeRecord&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeObjectProperty(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToStream(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToUtf8Bytes(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeObjectProperty(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToWriter(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.CreateAddAndClear<Int32>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    38.04 μs 47.15 μs 1.24 0.07 False
    7.81 μs 9.14 μs 1.17 0.13 False
    47.47 μs 52.31 μs 1.10 0.39 False

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CreateAddAndClear&lt;Int32&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.CreateAddAndClear<Int32>.SortedSet(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.CreateAddAndClear<Int32>.IDictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.CreateAddAndClear<Int32>.SortedDictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.CreateAddAndRemove<Int32>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    106.34 μs 119.28 μs 1.12 0.00 True

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CreateAddAndRemove&lt;Int32&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.CreateAddAndRemove<Int32>.SortedSet(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Tests.Perf_DateTime

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    138.89 ns 159.64 ns 1.15 0.05 False
    137.40 ns 155.12 ns 1.13 0.03 True

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Tests.Perf_DateTime.ToString(format: "G")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_DateTime.ToString(format: null)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Tests.Perf_Double

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    102.19 ns 155.82 ns 1.52 0.46 False
    105.01 ns 145.32 ns 1.38 0.47 False
    98.32 ns 128.39 ns 1.31 0.46 False
    56.24 ns 70.04 ns 1.25 0.15 False
    56.59 ns 63.00 ns 1.11 0.15 False
    104.67 ns 138.90 ns 1.33 0.45 False

    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Tests.Perf_Double.Parse(value: "-1.7976931348623157e+308")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Double.TryParse(value: "-1.7976931348623157e+308")

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Double.TryParse(value: "1.7976931348623157e+308")

    ETL Files

    Histogram

    JIT Disasms

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

    ETL Files

    Histogram

    JIT Disasms

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

    ETL Files

    Histogram

    JIT Disasms

    System.Tests.Perf_Double.Parse(value: "1.7976931348623157e+308")

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    455.50 ns 494.50 ns 1.09 0.07 False
    173.12 ns 201.34 ns 1.16 0.10 False
    278.11 ns 313.65 ns 1.13 0.14 False
    359.17 ns 392.65 ns 1.09 0.17 False

    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;LoginViewModel&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>.SerializeObjectProperty(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>.SerializeToWriter(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>.SerializeToString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<LoginViewModel>.SerializeToStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<Int32>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    199.96 ns 217.81 ns 1.09 0.36 False
    209.11 ns 225.80 ns 1.08 0.21 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Int32&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeObjectProperty(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeObjectProperty(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Perf_Convert

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    889.40 ns 935.11 ns 1.05 0.03 False
    17.88 ns 20.74 ns 1.16 0.03 False
    71.84 ns 100.23 ns 1.40 0.08 True
    75.01 ns 118.01 ns 1.57 0.03 True

    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Perf_Convert*'

    Payloads

    Baseline
    Compare

    System.Perf_Convert.ToDateTime_String(value: "Fri, 27 Feb 2009 03:11:21 GMT")

    ETL Files

    Histogram

    JIT Disasms

    System.Perf_Convert.ChangeType

    ETL Files

    Histogram

    JIT Disasms

    System.Perf_Convert.FromBase64Chars

    ETL Files

    Histogram

    JIT Disasms

    System.Perf_Convert.FromBase64String

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Buffers.Tests.SearchValuesCharTests

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    126.28 ns 134.00 ns 1.06 0.02 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Tests.SearchValuesCharTests*'

    Payloads

    Baseline
    Compare

    System.Buffers.Tests.SearchValuesCharTests.LastIndexOfAny(Values: "ßäöüÄÖÜ")

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Tests.Perf_StringBuilder

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    176.85 ns 192.86 ns 1.09 0.16 False
    190.13 μs 207.05 μs 1.09 0.28 False
    2.04 μs 2.16 μs 1.06 0.00 False

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Tests.Perf_StringBuilder*'

    Payloads

    Baseline
    Compare

    System.Text.Tests.Perf_StringBuilder.Append_Char_Capacity(length: 100)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Tests.Perf_StringBuilder.Append_Char_Capacity(length: 100000)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Tests.Perf_StringBuilder.Append_ValueTypes

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in XmlDocumentTests.XmlDocumentTests.Perf_XmlDocument

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    2.13 μs 2.39 μs 1.12 0.02 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'XmlDocumentTests.XmlDocumentTests.Perf_XmlDocument*'

    Payloads

    Baseline
    Compare

    XmlDocumentTests.XmlDocumentTests.Perf_XmlDocument.LoadXml

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.ContainsFalse<Int32>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    24.16 μs 31.70 μs 1.31 0.01 True
    25.69 μs 39.00 μs 1.52 0.44 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsFalse&lt;Int32&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.ContainsFalse<Int32>.SortedSet(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.ContainsFalse<Int32>.Queue(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    8.13 μs 8.76 μs 1.08 0.04 False
    7.47 μs 8.06 μs 1.08 0.03 True
    7.41 μs 8.21 μs 1.11 0.03 False
    6.85 μs 7.39 μs 1.08 0.03 False
    7.87 μs 8.61 μs 1.09 0.03 False

    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Dictionary&lt;String, String&gt;&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeObjectProperty(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToUtf8Bytes(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToStream(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToWriter(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToString(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.IterateForEach<String>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    10.93 μs 12.73 μs 1.16 0.11 False
    4.68 μs 6.45 μs 1.38 0.02 True

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForEach&lt;String&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.IterateForEach<String>.SortedDictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.IterateForEach<String>.SortedSet(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Xml.Linq.Perf_XName

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    12.33 ns 14.77 ns 1.20 0.18 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Xml.Linq.Perf_XName*'

    Payloads

    Baseline
    Compare

    System.Xml.Linq.Perf_XName.CreateElement

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Threading.Channels.Tests.SpscUnboundedChannelPerfTests

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    89.20 ns 97.84 ns 1.10 0.05 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Threading.Channels.Tests.SpscUnboundedChannelPerfTests*'

    Payloads

    Baseline
    Compare

    System.Threading.Channels.Tests.SpscUnboundedChannelPerfTests.ReadAsyncThenWriteAsync

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Tests.Perf_Depth

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    1.93 μs 2.23 μs 1.16 0.15 False
    1.86 μs 2.63 μs 1.42 0.19 True

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Text.Json.Tests.Perf_Depth.ReadSpanEmptyLoop(Depth: 65)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Tests.Perf_Depth.ReadSpanEmptyLoop(Depth: 64)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Xml_ToStream<SimpleStructWithProperties>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    649.27 ns 757.15 ns 1.17 0.06 True
    371.66 ns 438.52 ns 1.18 0.03 True

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;SimpleStructWithProperties&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Xml_ToStream<SimpleStructWithProperties>.DataContractSerializer_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Xml_ToStream<SimpleStructWithProperties>.DataContractSerializer_BinaryXml_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.TryGetValueFalse<String, String>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    10.31 μs 12.13 μs 1.18 0.03 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueFalse&lt;String, String&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.TryGetValueFalse<String, String>.IDictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_FromStream<MyEventsListerViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    522.88 μs 593.13 μs 1.13 0.20 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromStream&lt;MyEventsListerViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_FromStream<MyEventsListerViewModel>.JsonNet_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Xml_ToStream<XmlElement>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    256.41 ns 291.86 ns 1.14 0.02 True
    112.90 ns 144.73 ns 1.28 0.06 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;XmlElement&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Xml_ToStream<XmlElement>.DataContractSerializer_

    ETL Files

    Histogram

    JIT Disasms

    MicroBenchmarks.Serializers.Xml_ToStream<XmlElement>.DataContractSerializer_BinaryXml_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    39.84 μs 43.86 μs 1.10 0.03 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks*'

    Payloads

    Baseline
    Compare

    Microsoft.Extensions.Configuration.Xml.XmlConfigurationProviderBenchmarks.Load(FileName: "simple.xml")

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.Tests.Perf_BitArray

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    32.75 ns 38.29 ns 1.17 0.02 True

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Perf_BitArray*'

    Payloads

    Baseline
    Compare

    System.Collections.Tests.Perf_BitArray.BitArrayGet(Size: 4)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_ToString<MyEventsListerViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    343.14 μs 372.83 μs 1.09 0.10 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToString&lt;MyEventsListerViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_ToString<MyEventsListerViewModel>.SystemTextJson_Reflection_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Reflection.Invoke

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    12.53 ns 15.20 ns 1.21 0.07 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Reflection.Invoke*'

    Payloads

    Baseline
    Compare

    System.Reflection.Invoke.Property_Get_class

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Xml_FromStream<XmlElement>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    603.73 ns 659.89 ns 1.09 0.03 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;XmlElement&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Xml_FromStream<XmlElement>.DataContractSerializer_BinaryXml_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    244.88 ns 280.26 ns 1.14 0.18 False
    242.05 ns 269.45 ns 1.11 0.17 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Nullable&lt;DateTimeOffset&gt;&gt;*'

    Payloads

    Baseline
    Compare

    System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeObjectProperty(Mode: Reflection)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeObjectProperty(Mode: SourceGen)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    4.61 ns 7.88 ns 1.71 0.05 True

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark*'

    Payloads

    Baseline
    Compare

    Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark.ForEach_Array

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Tests.Perf_Char

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    11.97 ns 13.95 ns 1.17 0.00 True

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Tests.Perf_Char.Char_ToUpperInvariant(input: "Hello World!")

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.Encodings.Web.Tests.Perf_Encoders

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    61.32 ns 69.25 ns 1.13 0.11 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Encodings.Web.Tests.Perf_Encoders*'

    Payloads

    Baseline
    Compare

    System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,no <escaping /> required,512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.IO.Tests.Perf_Path

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    1.71 ns 3.44 ns 2.01 0.12 True
    19.36 ns 23.96 ns 1.24 0.16 False
    2.94 ns 4.06 ns 1.38 0.03 False

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.Perf_Path*'

    Payloads

    Baseline
    Compare

    System.IO.Tests.Perf_Path.IsPathRooted

    ETL Files

    Histogram

    JIT Disasms

    System.IO.Tests.Perf_Path.ChangeExtension

    ETL Files

    Histogram

    JIT Disasms

    System.IO.Tests.Perf_Path.Combine

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in Benchstone.BenchI.Ackermann

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    2.95 μs 3.50 μs 1.19 0.02 True

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Benchstone.BenchI.Ackermann*'

    Payloads

    Baseline
    Compare

    Benchstone.BenchI.Ackermann.Test

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in Benchstone.BenchI.Puzzle

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    374.02 ms 474.39 ms 1.27 0.02 True

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Benchstone.BenchI.Puzzle*'

    Payloads

    Baseline
    Compare

    Benchstone.BenchI.Puzzle.Test

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Xml_FromStream<Location>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    1.46 μs 1.59 μs 1.09 0.04 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;Location&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Xml_FromStream<Location>.DataContractSerializer_BinaryXml_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.TryGetValueFalse<Int32, Int32>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    22.44 μs 24.26 μs 1.08 0.11 False
    2.84 μs 3.66 μs 1.29 0.11 False

    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueFalse&lt;Int32, Int32&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.TryGetValueFalse<Int32, Int32>.ImmutableDictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    System.Collections.TryGetValueFalse<Int32, Int32>.IDictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Security.Cryptography.Tests.Perf_CryptoConfig

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    275.08 ns 288.86 ns 1.05 0.05 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Security.Cryptography.Tests.Perf_CryptoConfig.CreateFromName(name: "X509Chain")

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.ContainsKeyTrue<Int32, Int32>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    21.15 μs 32.25 μs 1.52 0.01 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsKeyTrue&lt;Int32, Int32&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.ContainsKeyTrue<Int32, Int32>.ImmutableSortedDictionary(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Copy link
    Author

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in Microsoft.Extensions.DependencyInjection.ScopeValidation

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    15.47 ns 21.35 ns 1.38 0.15 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.ScopeValidation*'

    Payloads

    Baseline
    Compare

    Microsoft.Extensions.DependencyInjection.ScopeValidation.Transient

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.IO.Tests.StreamReaderReadLineTests

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    8.34 μs 8.92 μs 1.07 0.02 False
    16.09 μs 18.17 μs 1.13 0.07 False
    21.40 μs 22.67 μs 1.06 0.02 False

    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.StreamReaderReadLineTests*'

    Payloads

    Baseline
    Compare

    System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange: [ 33, 128])

    ETL Files

    Histogram

    JIT Disasms

    System.IO.Tests.StreamReaderReadLineTests.ReadLineAsync(LineLengthRange: [ 33, 128])

    ETL Files

    Histogram

    JIT Disasms

    System.IO.Tests.StreamReaderReadLineTests.ReadLine(LineLengthRange: [ 9, 32])

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in MicroBenchmarks.Serializers.Json_FromString<MyEventsListerViewModel>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    507.42 μs 579.70 μs 1.14 0.23 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromString&lt;MyEventsListerViewModel&gt;*'

    Payloads

    Baseline
    Compare

    MicroBenchmarks.Serializers.Json_FromString<MyEventsListerViewModel>.JsonNet_

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.Tests.Perf_SortedSet

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    1.21 μs 1.65 μs 1.36 0.52 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Perf_SortedSet*'

    Payloads

    Baseline
    Compare

    System.Collections.Tests.Perf_SortedSet.EnumerateViewBetween

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.TryGetValueTrue<String, String>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    7.62 μs 8.63 μs 1.13 0.01 True

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueTrue&lt;String, String&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.TryGetValueTrue<String, String>.FrozenDictionaryOptimized(Size: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Memory.Constructors<Byte>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    1.25 ns 2.28 ns 1.82 0.45 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Constructors&lt;Byte&gt;*'

    Payloads

    Baseline
    Compare

    System.Memory.Constructors<Byte>.MemoryFromArrayStartLength

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Collections.TryAddGiventSize<Int32>

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    4.28 μs 4.64 μs 1.08 0.14 False

    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryAddGiventSize&lt;Int32&gt;*'

    Payloads

    Baseline
    Compare

    System.Collections.TryAddGiventSize<Int32>.Dictionary(Count: 512)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    @EgorBo EgorBo changed the title [Perf] Windows/x64: 777 Regressions on 1/17/2024 11:26:01 PM [Perf] Windows/x64: massive regressions on 1/17/2024 11:26:01 PM Jan 23, 2024
    @EgorBo EgorBo transferred this issue from dotnet/perf-autofiling-issues Jan 23, 2024
    @ghost
    Copy link

    ghost commented Jan 23, 2024

    Tagging subscribers to this area: @dotnet/area-system-text-regularexpressions
    See info in area-owners.md if you want to be subscribed.

    Issue Details

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    135.08 μs 149.55 μs 1.11 0.07 False
    65.10 μs 69.86 μs 1.07 0.04 False
    2.25 ms 2.48 ms 1.11 0.04 False
    33.34 ms 36.04 ms 1.08 0.12 False
    2.15 ms 2.31 ms 1.07 0.08 False
    15.07 ms 18.20 ms 1.21 0.01 True
    891.52 μs 947.71 μs 1.06 0.05 False
    10.48 ms 13.83 ms 1.32 0.11 False
    161.55 μs 171.27 μs 1.06 0.02 False
    1.22 ms 1.37 ms 1.12 0.03 False
    119.02 μs 130.73 μs 1.10 0.04 False
    60.55 μs 68.16 μs 1.13 0.05 False
    771.94 μs 867.45 μs 1.12 0.15 False
    4.72 ms 5.66 ms 1.20 0.11 False
    304.37 μs 336.30 μs 1.10 0.02 False
    13.65 ms 15.99 ms 1.17 0.03 True
    25.28 ms 30.01 ms 1.19 0.02 True
    206.77 μs 224.74 μs 1.09 0.03 False
    1.31 ms 1.67 ms 1.28 0.02 True
    214.99 μs 233.57 μs 1.09 0.01 False
    181.70 μs 202.02 μs 1.11 0.02 False
    10.46 ms 12.18 ms 1.16 0.14 False
    332.07 μs 368.11 μs 1.11 0.03 True

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock*'

    Payloads

    Baseline
    Compare

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-q][^u-z]{13}x", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes|Watson|Irene|Adler|John|Baker", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\p{L}", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\p{Lu}", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\s[a-zA-Z]{0,12}ing\s", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)the", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\w+\s+Holmes", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sher[a-z]+|Hol[a-z]+", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "the\s+\w+", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "The", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-q][^u-z]{13}x", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "the", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sher[a-z]+|Hol[a-z]+", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes|Watson", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-zA-Z]+ing", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sherlock|Holmes|Watson|Irene|Adler|John|Baker", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?s).*", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sher[a-z]+|Hol[a-z]+", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes|Watson", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\w+\s+Holmes\s+\w+", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Holmes.{0,25}Watson|Watson.{0,25}Holmes", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Numerics.Tests.Perf_BigInteger

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    3.91 ns 6.03 ns 1.54 0.04 True
    4.52 ns 6.48 ns 1.43 0.04 False
    10.90 ns 14.18 ns 1.30 0.06 True
    3.90 ns 6.07 ns 1.56 0.04 True
    4.22 ns 6.94 ns 1.64 0.09 False
    7.05 ns 9.19 ns 1.30 0.01 True
    7.33 ns 8.51 ns 1.16 0.05 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 259 bytes, DiffFirstByte)

    ETL Files

    Histogram

    JIT Disasms

    System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 67 bytes, DiffMiddleByte)

    ETL Files

    Histogram

    JIT Disasms

    System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: -2147483648)

    ETL Files

    Histogram

    JIT Disasms

    System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 67 bytes, DiffFirstByte)

    ETL Files

    Histogram

    JIT Disasms

    System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 67 bytes, Same)

    ETL Files

    Histogram

    JIT Disasms

    System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: 123)

    ETL Files

    Histogram

    JIT Disasms

    System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 259 bytes, DiffMiddleByte)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Author: performanceautofiler[bot]
    Assignees: -
    Labels:

    area-System.Text.RegularExpressions, os-windows, arch-x64, untriaged, runtime-coreclr

    Milestone: -

    @EgorBo EgorBo added area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI and removed area-System.Text.RegularExpressions untriaged New issue has not been triaged by the area owner labels Jan 23, 2024
    @ghost
    Copy link

    ghost commented Jan 23, 2024

    Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
    See info in area-owners.md if you want to be subscribed.

    Issue Details

    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    135.08 μs 149.55 μs 1.11 0.07 False
    65.10 μs 69.86 μs 1.07 0.04 False
    2.25 ms 2.48 ms 1.11 0.04 False
    33.34 ms 36.04 ms 1.08 0.12 False
    2.15 ms 2.31 ms 1.07 0.08 False
    15.07 ms 18.20 ms 1.21 0.01 True
    891.52 μs 947.71 μs 1.06 0.05 False
    10.48 ms 13.83 ms 1.32 0.11 False
    161.55 μs 171.27 μs 1.06 0.02 False
    1.22 ms 1.37 ms 1.12 0.03 False
    119.02 μs 130.73 μs 1.10 0.04 False
    60.55 μs 68.16 μs 1.13 0.05 False
    771.94 μs 867.45 μs 1.12 0.15 False
    4.72 ms 5.66 ms 1.20 0.11 False
    304.37 μs 336.30 μs 1.10 0.02 False
    13.65 ms 15.99 ms 1.17 0.03 True
    25.28 ms 30.01 ms 1.19 0.02 True
    206.77 μs 224.74 μs 1.09 0.03 False
    1.31 ms 1.67 ms 1.28 0.02 True
    214.99 μs 233.57 μs 1.09 0.01 False
    181.70 μs 202.02 μs 1.11 0.02 False
    10.46 ms 12.18 ms 1.16 0.14 False
    332.07 μs 368.11 μs 1.11 0.03 True

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

    git clone https://github.com/dotnet/performance.git
    py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock*'

    Payloads

    Baseline
    Compare

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-q][^u-z]{13}x", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes|Watson|Irene|Adler|John|Baker", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\p{L}", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\p{Lu}", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\s[a-zA-Z]{0,12}ing\s", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)the", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\w+\s+Holmes", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sher[a-z]+|Hol[a-z]+", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "the\s+\w+", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "The", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-q][^u-z]{13}x", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "the", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sher[a-z]+|Hol[a-z]+", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes|Watson", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "[a-zA-Z]+ing", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?i)Sherlock|Holmes|Watson|Irene|Adler|John|Baker", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "(?s).*", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sher[a-z]+|Hol[a-z]+", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Sherlock|Holmes|Watson", Options: NonBacktracking)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "\w+\s+Holmes\s+\w+", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    System.Text.RegularExpressions.Tests.Perf_Regex_Industry_RustLang_Sherlock.Count(Pattern: "Holmes.{0,25}Watson|Watson.{0,25}Holmes", Options: None)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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


    Run Information

    Name Value
    Architecture x64
    OS Windows 10.0.18362
    Queue TigerWindows
    Baseline af874399a0de79c9364f3f0e8cebbd0c60e16dfa
    Compare 957ab2f239fa1c425079cdb9eeb483380241dedb
    Diff Diff
    Configs CompilationMode:tiered, RunKind:micro

    Regressions in System.Numerics.Tests.Perf_BigInteger

    Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
    3.91 ns 6.03 ns 1.54 0.04 True
    4.52 ns 6.48 ns 1.43 0.04 False
    10.90 ns 14.18 ns 1.30 0.06 True
    3.90 ns 6.07 ns 1.56 0.04 True
    4.22 ns 6.94 ns 1.64 0.09 False
    7.05 ns 9.19 ns 1.30 0.01 True
    7.33 ns 8.51 ns 1.16 0.05 False

    graph
    graph
    graph
    graph
    graph
    graph
    graph
    Test Report

    Repro

    General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

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

    Payloads

    Baseline
    Compare

    System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 259 bytes, DiffFirstByte)

    ETL Files

    Histogram

    JIT Disasms

    System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 67 bytes, DiffMiddleByte)

    ETL Files

    Histogram

    JIT Disasms

    System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: -2147483648)

    ETL Files

    Histogram

    JIT Disasms

    System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 67 bytes, DiffFirstByte)

    ETL Files

    Histogram

    JIT Disasms

    System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 67 bytes, Same)

    ETL Files

    Histogram

    JIT Disasms

    System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: 123)

    ETL Files

    Histogram

    JIT Disasms

    System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 259 bytes, DiffMiddleByte)

    ETL Files

    Histogram

    JIT Disasms

    Docs

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

    Author: performanceautofiler[bot]
    Assignees: -
    Labels:

    os-windows, arch-x64, area-CodeGen-coreclr, runtime-coreclr

    Milestone: -

    @amanasifkhalid
    Copy link
    Member

    amanasifkhalid commented Jan 23, 2024

    I suspect you're right... There were far more size improvements than regressions for that change (diffs), but there were still thousands of regressions. Most of them come from our block reordering algorithm not being able to handle BBJ_COND blocks with no fallthrough into the false target very well. I'm going to experiment locally with reducing churn around this (and hopefully we see some perf improvements associated with #96609, too).

    @stephentoub
    Copy link
    Member

    Should we revert it for now?

    @amanasifkhalid
    Copy link
    Member

    amanasifkhalid commented Jan 23, 2024

    @AndyAyersMS what do you think? #97191 has plenty of regressions for the same reasons as #96609, but I'm trying your idea of restoring fall-through into the false target before block layout to try to reduce churn; that might improve/fix some of these regressions.

    @AndyAyersMS
    Copy link
    Member

    Regressions outnumber improvements roughly 10:1.

    Unless I'm mistaken, most folks should not be adversely impacted by this, unless they are comparing old jit behavior to new.

    I would suggest we take a day to see if we can figure out what is wrong and fix it. If the fix is not obvious or looks complicated, then we can revert #96609

    @amanasifkhalid I am happy to drop what I'm doing and work on this. Let me know how to best help you here.

    @AndyAyersMS
    Copy link
    Member

    This is also affecting the ASP.NET lab so perhaps we shouldn't drag our feet.

    So yes let's revert #96609 but still dig in right away and see what happened.

    @amanasifkhalid
    Copy link
    Member

    Per Andy's comment here, the regression seems to be gone.

    @AndyAyersMS
    Copy link
    Member

    Regular lab charts now show this too

    newplot (77)

    @github-actions github-actions bot locked and limited conversation to collaborators Feb 27, 2024
    Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
    Labels
    arch-x64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI os-windows runtime-coreclr specific to the CoreCLR runtime
    Projects
    None yet
    Development

    No branches or pull requests

    4 participants