dotnet / perf-autofiling-issues

A landing place for auto-filed performance issues before they receive triage
MIT License
9 stars 4 forks source link

[Perf] Linux/x64: 1910 Improvements on 5/13/2024 9:18:56 PM #34794

Open performanceautofiler[bot] opened 6 months ago

performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 7ce5d0fdf728bb2ae213541b17c2e489d2b06d09
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
105.35 μs 94.36 μs 0.90 0.21 False
4.87 μs 4.26 μs 0.88 0.26 False
297.96 μs 227.19 μs 0.76 0.37 False
115.23 μs 105.49 μs 0.92 0.32 False
11.01 μs 9.38 μs 0.85 0.39 False
94.96 μs 87.61 μs 0.92 0.22 False
4.14 μs 3.81 μs 0.92 0.19 False
4.66 μs 4.28 μs 0.92 0.23 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives&lt;Int32&gt;*'
### System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Int32>.PopCount(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Int32>.PopCount(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Int32>.LeadingZeroCount(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Int32>.TrailingZeroCount(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Int32>.LeadingZeroCount(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Int32>.OnesComplement(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Int32>.OnesComplement(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Int32>.TrailingZeroCount(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_DateTime

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
19.14 ns 9.38 ns 0.49 0.72 False
156.25 ns 131.65 ns 0.84 0.25 False
9.28 ns 6.53 ns 0.70 0.72 False
11.36 ns 5.80 ns 0.51 0.74 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_DateTime*'
### System.Tests.Perf_DateTime.ObjectEquals #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_DateTime.ToString(format: "o") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_DateTime.DayOfYear #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_DateTime.Year #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
48.58 ns 37.44 ns 0.77 0.31 False
49.33 ns 39.98 ns 0.81 0.39 False
49.24 ns 38.72 ns 0.79 0.30 False
50.19 ns 40.81 ns 0.81 0.35 False
51.74 ns 39.17 ns 0.76 0.39 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals*'
### System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals.FixedTimeEquals_256Bit_SameReference #### ETL Files #### Histogram #### JIT Disasms ### System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals.FixedTimeEquals_256Bit_VersusZero #### ETL Files #### Histogram #### JIT Disasms ### System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals.FixedTimeEquals_256Bit_Equal #### ETL Files #### Histogram #### JIT Disasms ### System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals.FixedTimeEquals_256Bit_LastBitDifferent #### ETL Files #### Histogram #### JIT Disasms ### System.Security.Cryptography.Primitives.Tests.Performance.Perf_FixedTimeEquals.FixedTimeEquals_256Bit_FirstBitDifferent #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.IterateForEachNonGeneric<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
15.10 μs 11.49 μs 0.76 0.24 False
16.09 μs 12.03 μs 0.75 0.26 False
19.19 μs 12.94 μs 0.67 0.24 False
33.04 μs 24.97 μs 0.76 0.19 False
28.41 μs 21.17 μs 0.74 0.28 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForEachNonGeneric&lt;Int32&gt;*'
### System.Collections.IterateForEachNonGeneric<Int32>.Stack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEachNonGeneric<Int32>.ArrayList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEachNonGeneric<Int32>.Queue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEachNonGeneric<Int32>.Hashtable(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEachNonGeneric<Int32>.SortedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3ffa05f77509cd4c5eb1452ff49c0254a8bed905
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_UInt64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
65.10 ns 55.65 ns 0.85 0.34 False
65.93 ns 48.92 ns 0.74 0.54 False
79.12 ns 60.28 ns 0.76 0.49 False
48.04 ns 42.15 ns 0.88 0.40 False
51.68 ns 38.51 ns 0.75 0.57 False
41.79 ns 39.21 ns 0.94 0.47 False
25.96 ns 15.66 ns 0.60 0.65 False
27.27 ns 18.65 ns 0.68 0.61 False
59.69 ns 56.55 ns 0.95 0.55 False
40.81 ns 29.13 ns 0.71 0.56 False
82.23 ns 68.73 ns 0.84 0.42 False
53.16 ns 45.82 ns 0.86 0.57 False
21.28 ns 15.11 ns 0.71 0.64 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_UInt64*'
### System.Tests.Perf_UInt64.TryParse(value: "18446744073709551615") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_UInt64.Parse(value: "12345") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_UInt64.ParseSpan(value: "18446744073709551615") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_UInt64.TryParse(value: "12345") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_UInt64.ParseSpan(value: "0") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_UInt64.TryParse(value: "0") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_UInt64.ToString(value: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_UInt64.TryFormat(value: 12345) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_UInt64.Parse(value: "0") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_UInt64.TryParseHex(value: "0") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_UInt64.Parse(value: "18446744073709551615") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_UInt64.ParseSpan(value: "12345") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_UInt64.TryFormat(value: 0) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.28 μs 1.12 μs 0.87 0.15 False
12.20 μs 10.21 μs 0.84 0.42 False
265.36 μs 232.50 μs 0.88 0.38 False
205.68 ns 162.93 ns 0.79 0.20 False
1.24 μs 1.16 μs 0.94 0.14 False
25.09 μs 22.92 μs 0.91 0.21 False
1.34 μs 1.15 μs 0.86 0.19 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives&lt;Byte&gt;*'
### System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Byte>.OnesComplement(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Byte>.LeadingZeroCount(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Byte>.LeadingZeroCount(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Byte>.ShiftLeft(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Byte>.PopCount(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Byte>.PopCount(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_BinaryIntegerTensorPrimitives<Byte>.TrailingZeroCount(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3de068c2be232960f4cb3b233dd2b4014e2ce7c3
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Linq.Tests.Perf_Enumerable

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
24.65 μs 20.78 μs 0.84 0.18 False
11.55 μs 8.89 μs 0.77 0.20 False
25.58 μs 22.68 μs 0.89 0.15 False
16.69 μs 13.03 μs 0.78 0.25 False
3.80 μs 2.88 μs 0.76 0.30 False
17.42 μs 13.17 μs 0.76 0.30 False
20.90 μs 19.74 μs 0.94 0.17 False
4.95 μs 3.36 μs 0.68 0.37 False
18.83 μs 16.07 μs 0.85 0.27 False
22.41 μs 17.35 μs 0.77 0.23 False
3.81 μs 2.88 μs 0.76 0.42 False
11.04 μs 8.10 μs 0.73 0.26 False
5.98 μs 5.12 μs 0.86 0.35 False
5.66 μs 5.07 μs 0.90 0.43 False
6.19 μs 5.22 μs 0.84 0.37 False
77.34 μs 62.50 μs 0.81 0.19 False
3.85 μs 2.94 μs 0.76 0.33 False
42.04 ns 33.62 ns 0.80 0.61 False
10.80 μs 9.02 μs 0.84 0.17 False
30.94 μs 26.32 μs 0.85 0.18 False
47.08 μs 42.19 μs 0.90 0.18 False
9.25 μs 7.92 μs 0.86 0.34 False
2.69 μs 2.08 μs 0.77 0.31 False
4.30 μs 3.52 μs 0.82 0.41 False
88.10 ns 75.21 ns 0.85 0.43 False
4.12 μs 3.19 μs 0.77 0.41 False
28.70 μs 25.72 μs 0.90 0.21 False
6.08 μs 5.27 μs 0.87 0.31 False
26.99 μs 22.96 μs 0.85 0.15 False
25.94 μs 23.37 μs 0.90 0.18 False
3.86 μs 3.47 μs 0.90 0.43 False
9.01 μs 7.84 μs 0.87 0.31 False
4.57 μs 3.60 μs 0.79 0.27 False
30.63 μs 26.95 μs 0.88 0.10 False
25.01 μs 21.09 μs 0.84 0.17 False
3.12 μs 2.32 μs 0.74 0.40 False
4.95 μs 3.38 μs 0.68 0.39 False
3.37 μs 2.58 μs 0.76 0.29 False
102.64 μs 65.57 μs 0.64 0.31 False
71.96 μs 63.06 μs 0.88 0.13 False
42.39 μs 33.02 μs 0.78 0.12 False
3.60 μs 2.71 μs 0.75 0.34 False
15.43 μs 12.60 μs 0.82 0.32 False
3.87 μs 2.97 μs 0.77 0.33 False
17.40 μs 13.23 μs 0.76 0.26 False
4.04 μs 3.16 μs 0.78 0.36 False
performanceautofiler[bot] commented 6 months ago

+mQTaG4EzI7nqne5k22HcIDLbMcsuiDX53/h9S7MFBILE0SckZzZjO6AZP8B9NcU2HlBAAA>) | 49.06 μs | 36.93 μs | 0.75 | 0.15 | False | | | |

| 44.43 μs | 36.97 μs | 0.83 | 0.10 | False | | | | | 4.10 μs | 2.99 μs | 0.73 | 0.29 | False | | | | | 48.53 ns | 28.57 ns | 0.59 | 0.54 | False | | | | | 21.88 μs | 17.17 μs | 0.78 | 0.23 | False | | | | | 22.71 μs | 20.11 μs | 0.89 | 0.14 | False | | | | | 3.45 μs | 2.38 μs | 0.69 | 0.35 | False | | | | | 78.26 μs | 65.32 μs | 0.83 | 0.18 | False | | | | | 22.99 μs | 18.50 μs | 0.80 | 0.21 | False | | | | | 7.01 μs | 4.77 μs | 0.68 | 0.33 | False | | | | | 1.29 μs | 958.94 ns | 0.74 | 0.26 | False | | | | | 4.04 μs | 3.15 μs | 0.78 | 0.38 | False | | | | | 738.67 ns | 529.86 ns | 0.72 | 0.27 | False | | | | | 85.59 ns | 63.46 ns | 0.74 | 0.48 | False | | | | | 82.95 ns | 62.27 ns | 0.75 | 0.43 | False | | | | | 4.47 μs | 3.38 μs | 0.76 | 0.27 | False | | | | | 9.40 μs | 7.58 μs | 0.81 | 0.37 | False | | | | | 22.75 μs | 17.38 μs | 0.76 | 0.26 | False | | | | | 14.88 μs | 12.27 μs | 0.82 | 0.26 | False | | | | | 27.39 μs | 22.77 μs | 0.83 | 0.12 | False | | | | | 5.11 μs | 3.89 μs | 0.76 | 0.37 | False | | | | | 4.91 μs | 3.94 μs | 0.80 | 0.37 | False | | | | | 31.46 μs | 26.56 μs | 0.84 | 0.15 | False | | | | | 5.04 μs | 3.60 μs | 0.71 | 0.41 | False | | | | | 14.19 μs | 13.18 μs | 0.93 | 0.22 | False | | | | | 27.13 μs | 23.23 μs | 0.86 | 0.17 | False | | | | | 4.92 μs | 3.39 μs | 0.69 | 0.36 | False | | | | | 4.65 μs | 3.47 μs | 0.75 | 0.33 | False | | | | | 21.02 μs | 17.19 μs | 0.82 | 0.23 | False | | | | | 26.54 μs | 21.84 μs | 0.82 | 0.23 | False | | | | | 29.28 μs | 22.28 μs | 0.76 | 0.26 | False | | | | | 24.29 μs | 21.51 μs | 0.89 | 0.15 | False | | | | | 113.18 μs | 88.82 μs | 0.78 | 0.19 | False | | | | | 4.74 μs | 3.73 μs | 0.79 | 0.38 | False | | | | | 4.12 μs | 2.90 μs | 0.70 | 0.40 | False | | | | | 4.12 μs | 3.24 μs | 0.79 | 0.41 | False | | | | | 8.73 μs | 7.74 μs | 0.89 | 0.30 | False | | | | | 46.18 μs | 36.02 μs | 0.78 | 0.16 | False | | | | | 4.28 μs | 2.99 μs | 0.70 | 0.34 | False | | | | | 25.82 μs | 23.57 μs | 0.91 | 0.16 | False | | | | | 75.16 μs | 60.98 μs | 0.81 | 0.21 | False | | |

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](<https://pvscmdupload.blob.core.windows.net/autofilereport/autofile

performanceautofiler[bot] commented 6 months ago

reports/05_21_2024/refs/heads/main_x64_ubuntu%2022.04_AOT%3Dtrue_CompilationMode%3Dwasm_RunKind%3Dmicro_Improvement/System.Linq.Tests.Perf_Enumerable_44.png>) 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Linq.Tests.Perf_Enumerable*'
### System.Linq.Tests.Perf_Enumerable.SelectToArray(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Reverse(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SelectToList(input: Range) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SelectToList(input: Array) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input: Array) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Where(input: Array) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SkipHalfTakeHalf(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_FirstElementMatches(input: List) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SelectToArray(input: List) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SelectToList(input: List) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input: Array) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.CastToBaseClass(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.WhereFirst_LastElementMatches(input: Array) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.WhereLast_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.Aggregate_Seed(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Count(input: ICollection) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.ToDictionary(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.TakeLastHalf(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Zip(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.WhereFirst_LastElementMatches(input: List) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Average(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input: Array) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Contains_ElementNotFound(input: ICollection) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Skip_One(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.WhereSingleOrDefault_LastElementMatches(input: Array) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Select(input: IList) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Select(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.WhereSingleOrDefault_LastElementMatches(input: List) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.ToList(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Distinct(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Except(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Max(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input: List) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.ToArray(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Concat_TenTimes(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.OrderByThenBy(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Prepend(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Sum(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Concat_Once(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Aggregate(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Select(input: Array) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_FirstElementMatches(input: Array) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Append(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Intersect(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Contains_ElementNotFound(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.ElementAt(input: IList) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Where(input: List) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.TakeLastHalf(input: List) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Min(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.OrderBy(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.SequenceEqual(input1: IEnumerable, input2: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Count(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.All_AllElementsMatch(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.ElementAt(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.LastWithPredicate_FirstElementMatches(input: IList) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SequenceEqual(input1: Array, input2: Array) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Range #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.WhereAny_LastElementMatches(input: List) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.WhereSelect(input: Array) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SelectToArray(input: Array) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Where(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.ToDictionary(input: Array) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.ToDictionary(input: List) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.WhereSelect(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Repeat #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.WhereSingleOrDefault_LastElementMatches(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SelectToList(input: IList) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input: List) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.CastToSameType(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Select(input: List) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.WhereSelect(input: List) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Take_All(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SelectToArray(input: IList) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.OrderByDescending(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input: List) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_FirstElementMatches(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.WhereSingle_LastElementMatches(input: List) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.AppendPrepend(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.LastWithPredicate_FirstElementMatches(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.SelectToList(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.AnyWithPredicate_LastElementMatches(input: IOrderedEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_ToString<MyEventsListerViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.57 ms 2.21 ms 0.86 0.09 False
1.04 ms 899.42 μs 0.86 0.07 False
1.78 ms 1.63 ms 0.91 0.06 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToString&lt;MyEventsListerViewModel&gt;*'
### MicroBenchmarks.Serializers.Json_ToString<MyEventsListerViewModel>.JsonNet_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Json_ToString<MyEventsListerViewModel>.SystemTextJson_SourceGen_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Json_ToString<MyEventsListerViewModel>.SystemTextJson_Reflection_ #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Tests.Perf_Encoding

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
68.13 ns 57.46 ns 0.84 0.43 False
241.82 ns 190.44 ns 0.79 0.20 False
43.92 ns 37.78 ns 0.86 0.54 False
58.56 ns 40.11 ns 0.68 0.52 False
123.83 ns 85.75 ns 0.69 0.49 False
178.84 ns 124.76 ns 0.70 0.37 False
53.24 ns 39.10 ns 0.73 0.53 False
38.57 ns 29.36 ns 0.76 0.55 False
67.82 ns 43.34 ns 0.64 0.53 False
44.05 ns 30.77 ns 0.70 0.57 False
130.16 ns 88.03 ns 0.68 0.41 False
111.41 ns 80.27 ns 0.72 0.43 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Tests.Perf_Encoding*'
### System.Text.Tests.Perf_Encoding.GetBytes(size: 16, encName: "utf-8") #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Tests.Perf_Encoding.GetBytes(size: 512, encName: "ascii") #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Tests.Perf_Encoding.GetEncoder(size: 16, encName: "ascii") #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Tests.Perf_Encoding.GetByteCount(size: 16, encName: "ascii") #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Tests.Perf_Encoding.GetChars(size: 16, encName: "utf-8") #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Tests.Perf_Encoding.GetString(size: 16, encName: "ascii") #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Tests.Perf_Encoding.GetByteCount(size: 16, encName: "utf-8") #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Tests.Perf_Encoding.GetEncoder(size: 512, encName: "utf-8") #### 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.GetEncoder(size: 16, encName: "utf-8") #### 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.GetBytes(size: 16, encName: "ascii") #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Tests.Perf_StringBuilder

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
763.23 μs 624.27 μs 0.82 0.27 False
684.22 ns 621.44 ns 0.91 0.18 False
8.16 μs 6.84 μs 0.84 0.14 False
5.74 μs 4.93 μs 0.86 0.09 False
746.64 μs 614.62 μs 0.82 0.32 False
120.36 ns 101.19 ns 0.84 0.32 False
82.52 ns 66.50 ns 0.81 0.40 False
809.27 ns 644.38 ns 0.80 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Tests.Perf_StringBuilder*'
### System.Text.Tests.Perf_StringBuilder.Append_Char(length: 100000) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Tests.Perf_StringBuilder.AppendLine_Strings #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Tests.Perf_StringBuilder.Append_ValueTypes_Interpolated #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Tests.Perf_StringBuilder.Append_ValueTypes #### 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.ctor_string(length: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Tests.Perf_StringBuilder.ctor_capacity(length: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Tests.Perf_StringBuilder.Append_Char_Capacity(length: 100) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Tests.DictionarySequentialKeys

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
45.13 ns 34.50 ns 0.76 0.32 False
45.29 ns 31.61 ns 0.70 0.34 False
38.41 ns 30.11 ns 0.78 0.39 False
42.36 ns 37.62 ns 0.89 0.35 False
43.08 ns 32.12 ns 0.75 0.30 False
45.11 ns 31.39 ns 0.70 0.36 False
38.94 ns 32.15 ns 0.83 0.41 False
43.39 ns 31.60 ns 0.73 0.37 False
40.04 ns 29.81 ns 0.74 0.37 False
44.83 ns 35.87 ns 0.80 0.35 False
42.84 ns 32.63 ns 0.76 0.35 False
40.51 ns 28.93 ns 0.71 0.33 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.DictionarySequentialKeys*'
### System.Collections.Tests.DictionarySequentialKeys.TryGetValue_17_Int_32ByteRefsValue #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.DictionarySequentialKeys.ContainsKey_17_Int_32ByteValue #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.DictionarySequentialKeys.ContainsValue_3k_Int_Int #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.DictionarySequentialKeys.TryGetValue_3k_Int_32ByteRefsValue #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.DictionarySequentialKeys.ContainsKey_17_Int_32ByteRefsValue #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.DictionarySequentialKeys.TryGetValue_3k_Int_32ByteValue #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.DictionarySequentialKeys.TryGetValue_3k_Int_Int #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.DictionarySequentialKeys.ContainsValue_17_Int_Int #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.DictionarySequentialKeys.ContainsKey_3k_Int_32ByteValue #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.DictionarySequentialKeys.TryGetValue_17_Int_32ByteValue #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.DictionarySequentialKeys.TryGetValue_17_Int_Int #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.DictionarySequentialKeys.ContainsKey_3k_Int_32ByteRefsValue #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_Random

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
25.10 ns 21.08 ns 0.84 0.58 False
113.87 ns 91.90 ns 0.81 0.38 False
26.61 ns 15.60 ns 0.59 0.58 False
31.49 ns 22.11 ns 0.70 0.60 False
50.10 ns 30.72 ns 0.61 0.57 False
33.17 ns 25.66 ns 0.77 0.52 False
118.93 ns 91.25 ns 0.77 0.43 False
33.66 ns 30.63 ns 0.91 0.51 False
27.94 ns 17.03 ns 0.61 0.53 False
36.04 ns 22.48 ns 0.62 0.58 False
30.72 ns 20.56 ns 0.67 0.59 False
35.97 ns 28.18 ns 0.78 0.55 False
29.30 ns 21.18 ns 0.72 0.54 False
30.51 ns 21.83 ns 0.72 0.54 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Random*'
### System.Tests.Perf_Random.Next_unseeded #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Random.Next_long_long #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Random.NextSingle_unseeded #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Random.NextDouble #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Random.Next_long_unseeded #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Random.Next_int_unseeded #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Random.Next_long #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Random.Next_int_int #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Random.Next_int_int_unseeded #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Random.Next_long_long_unseeded #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Random.NextDouble_unseeded #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Random.Next_int #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Random.Next #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Random.NextSingle #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
80.44 μs 71.70 μs 0.89 0.07 False
138.34 μs 119.66 μs 0.86 0.10 False
156.50 μs 133.83 μs 0.86 0.11 False
82.75 μs 68.55 μs 0.83 0.08 False
101.51 μs 85.58 μs 0.84 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;TreeRecord&gt;*'
### System.Text.Json.Serialization.Tests.ReadJson<TreeRecord>.DeserializeFromString(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<TreeRecord>.DeserializeFromString(Mode: Reflection) #### 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>.DeserializeFromUtf8Bytes(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<TreeRecord>.DeserializeFromReader(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 42c2362ca7d6030a4f665bb309fe49ce6552502b
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Memory.Slice<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
4.40 ns 3.19 ns 0.72 0.31 False
5.73 ns 3.44 ns 0.60 0.35 False
4.44 ns 3.29 ns 0.74 0.36 False
4.35 ns 3.20 ns 0.73 0.43 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Slice&lt;Byte&gt;*'
### System.Memory.Slice<Byte>.ReadOnlySpanStartLength #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Slice<Byte>.ReadOnlySpanStart #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Slice<Byte>.SpanStart #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Slice<Byte>.SpanStartLength #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Tests.Perf_BitArray

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
43.05 ns 40.63 ns 0.94 0.51 False
15.88 ns 9.24 ns 0.58 0.71 False
52.03 ns 42.23 ns 0.81 0.46 False
58.22 ns 45.37 ns 0.78 0.48 False
1.24 μs 1.04 μs 0.84 0.02 False
52.06 ns 41.89 ns 0.80 0.43 False
27.34 ns 20.81 ns 0.76 0.65 False
46.63 ns 32.49 ns 0.70 0.52 False
35.21 ns 32.40 ns 0.92 0.59 False
146.07 ns 138.28 ns 0.95 0.19 False
75.02 ns 64.10 ns 0.85 0.45 False
30.91 ns 19.29 ns 0.62 0.66 False
43.64 ns 33.33 ns 0.76 0.61 False
72.08 ns 63.63 ns 0.88 0.30 False
66.05 ns 48.36 ns 0.73 0.49 False
77.63 ns 62.40 ns 0.80 0.43 False
48.07 ns 42.58 ns 0.89 0.48 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Perf_BitArray*'
### System.Collections.Tests.Perf_BitArray.BitArrayBoolArrayCtor(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArrayNot(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArrayXor(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArraySetLengthShrink(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArraySet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArrayOr(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArrayOr(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArrayByteArrayCtor(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArrayCopyToByteArray(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArrayCopyToIntArray(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArrayCopyToIntArray(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArrayAnd(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArraySetAll(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArrayBoolArrayCtor(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArrayLengthValueCtor(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArrayLengthValueCtor(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_BitArray.BitArrayAnd(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 7ce5d0fdf728bb2ae213541b17c2e489d2b06d09
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
167.18 μs 147.98 μs 0.89 0.05 False
274.15 μs 240.48 μs 0.88 0.07 False
91.48 μs 79.98 μs 0.87 0.08 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;IndexViewModel&gt;*'
### MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>.JsonNet_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>.DataContractJsonSerializer_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Json_ToStream<IndexViewModel>.SystemTextJson_SourceGen_ #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.MathBenchmarks.Single

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
32.79 μs 26.29 μs 0.80 0.09 False
54.75 μs 45.77 μs 0.84 0.16 False
57.17 μs 48.41 μs 0.85 0.09 False
45.68 μs 39.24 μs 0.86 0.26 False
51.78 μs 48.07 μs 0.93 0.01 False
22.28 μs 17.80 μs 0.80 0.11 False
55.61 μs 52.25 μs 0.94 0.04 False
50.73 μs 47.36 μs 0.93 0.11 False
51.10 μs 46.86 μs 0.92 0.04 False
24.48 μs 20.19 μs 0.82 0.05 False
47.65 μs 40.08 μs 0.84 0.21 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.MathBenchmarks.Single*'
### System.MathBenchmarks.Single.Hypot #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Single.Atan #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Single.Tan #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Single.Log #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Single.Cbrt #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Single.Round #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Single.Asin #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Single.CosPi #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Single.Acos #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Single.ScaleB #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Single.LogP1 #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare a71a85a65f6527ca2754ccf336f1fc77f02c409b
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in Microsoft.Extensions.Logging.EventSourceLogger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
969.11 ns 852.01 ns 0.88 0.16 False
1.00 μs 843.30 ns 0.84 0.18 False
994.16 ns 846.04 ns 0.85 0.19 False
969.73 ns 864.30 ns 0.89 0.19 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Logging.EventSourceLogger*'
### Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: True, Json: True) #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: True, Json: False) #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: False, Json: True) #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: False, Json: False) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3ffa05f77509cd4c5eb1452ff49c0254a8bed905
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Net.Primitives.Tests.CredentialCacheTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.41 μs 1.01 μs 0.72 0.24 False
1.23 μs 941.64 ns 0.77 0.25 False
663.31 ns 572.09 ns 0.86 0.11 False
487.98 ns 403.74 ns 0.83 0.14 False
407.22 ns 339.73 ns 0.83 0.22 False
405.76 ns 303.43 ns 0.75 0.21 False
2.10 μs 1.55 μs 0.74 0.25 False
3.18 μs 2.83 μs 0.89 0.18 False
528.82 ns 450.92 ns 0.85 0.20 False
2.67 μs 2.48 μs 0.93 0.19 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Net.Primitives.Tests.CredentialCacheTests*'
### System.Net.Primitives.Tests.CredentialCacheTests.ForEach(uriCount: 0, hostPortCount: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Net.Primitives.Tests.CredentialCacheTests.ForEach(uriCount: 10, hostPortCount: 0) #### 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_HostPort(host: "notfound", hostPortCount: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Net.Primitives.Tests.CredentialCacheTests.ForEach(uriCount: 0, hostPortCount: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Net.Primitives.Tests.CredentialCacheTests.GetCredential_HostPort(host: "notfound", hostPortCount: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Net.Primitives.Tests.CredentialCacheTests.ForEach(uriCount: 10, hostPortCount: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Net.Primitives.Tests.CredentialCacheTests.GetCredential_Uri(uriString: "http://name5", uriCount: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Net.Primitives.Tests.CredentialCacheTests.GetCredential_HostPort(host: "name5", hostPortCount: 10) #### 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](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.IndexerSetReverse<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
16.13 μs 6.07 μs 0.38 0.38 False
3.61 μs 3.18 μs 0.88 0.27 False
12.80 μs 9.06 μs 0.71 0.43 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IndexerSetReverse&lt;String&gt;*'
### System.Collections.IndexerSetReverse<String>.List(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IndexerSetReverse<String>.Array(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IndexerSetReverse<String>.IList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 7ce5d0fdf728bb2ae213541b17c2e489d2b06d09
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Perf_Frozen<Int16>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
17.62 μs 15.37 μs 0.87 0.28 False
139.95 μs 123.25 μs 0.88 0.32 False
808.61 ns 702.55 ns 0.87 0.16 False
16.62 μs 14.11 μs 0.85 0.30 False
1.69 μs 1.49 μs 0.88 0.22 False
1.13 μs 865.41 ns 0.76 0.20 False
140.59 μs 113.07 μs 0.80 0.29 False
1.69 μs 1.38 μs 0.82 0.21 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Perf_Frozen&lt;Int16&gt;*'
### System.Collections.Perf_Frozen<Int16>.TryGetValue_True(Count: 64) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<Int16>.TryGetValue_True(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<Int16>.ToFrozenDictionary(Count: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<Int16>.Contains_True(Count: 64) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<Int16>.TryGetValue_True(Count: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<Int16>.ToFrozenSet(Count: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<Int16>.Contains_True(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<Int16>.Contains_True(Count: 4) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in GuardedDevirtualization.TwoClassInterface

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
16.02 ns 14.00 ns 0.87 0.27 False
12.29 ns 7.47 ns 0.61 0.48 False
16.64 ns 13.25 ns 0.80 0.24 False
10.39 ns 7.56 ns 0.73 0.40 False
11.63 ns 8.67 ns 0.75 0.31 False
15.19 ns 13.49 ns 0.89 0.31 False
14.98 ns 11.21 ns 0.75 0.34 False
12.11 ns 8.72 ns 0.72 0.41 False
13.60 ns 9.98 ns 0.73 0.34 False
13.19 ns 10.18 ns 0.77 0.32 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'GuardedDevirtualization.TwoClassInterface*'
### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.50) #### ETL Files #### Histogram #### JIT Disasms ### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 1.00) #### ETL Files #### Histogram #### JIT Disasms ### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.40) #### ETL Files #### Histogram #### JIT Disasms ### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.00) #### ETL Files #### Histogram #### JIT Disasms ### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.10) #### ETL Files #### Histogram #### JIT Disasms ### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.30) #### ETL Files #### Histogram #### JIT Disasms ### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.70) #### ETL Files #### Histogram #### JIT Disasms ### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.90) #### ETL Files #### Histogram #### JIT Disasms ### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.80) #### ETL Files #### Histogram #### JIT Disasms ### GuardedDevirtualization.TwoClassInterface.Call(testInput: pB = 0.20) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
6.92 μs 6.17 μs 0.89 0.13 False
5.40 μs 4.44 μs 0.82 0.13 False
796.25 ns 686.36 ns 0.86 0.18 False
1.14 μs 879.77 ns 0.77 0.15 False
1.29 μs 1.06 μs 0.82 0.16 False
2.80 μs 2.51 μs 0.90 0.13 False
4.63 μs 4.01 μs 0.87 0.16 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;StructRecord&gt;*'
### System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeObjectProperty(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeToUtf8Bytes(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeToWriter(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeToUtf8Bytes(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<StructRecord>.SerializeToString(Mode: SourceGen) #### 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>.SerializeToWriter(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_Boolean

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
38.07 ns 34.48 ns 0.91 0.50 False
22.23 ns 17.09 ns 0.77 0.62 False
39.12 ns 33.11 ns 0.85 0.52 False
27.32 ns 23.26 ns 0.85 0.59 False
36.83 ns 30.33 ns 0.82 0.51 False
23.14 ns 17.39 ns 0.75 0.58 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Boolean*'
### System.Tests.Perf_Boolean.Parse(value: "false") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Boolean.TryParse(value: "true") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Boolean.Parse(value: "False") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Boolean.TryParse(value: "false") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Boolean.Parse(value: "TRUE") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Boolean.TryParse(value: "TRUE") #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
123.16 μs 107.69 μs 0.87 0.28 False
1.14 μs 1.00 μs 0.88 0.22 False
25.35 μs 20.66 μs 0.81 0.29 False
16.42 μs 14.61 μs 0.89 0.20 False
5.28 μs 4.58 μs 0.87 0.23 False
3.67 μs 2.85 μs 0.78 0.26 False
1.27 μs 1.01 μs 0.80 0.29 False
15.73 μs 13.92 μs 0.88 0.20 False
152.29 μs 141.61 μs 0.93 0.19 False
372.07 μs 338.01 μs 0.91 0.20 False
8.67 μs 7.96 μs 0.92 0.47 False
13.68 μs 12.31 μs 0.90 0.31 False
353.61 μs 285.82 μs 0.81 0.30 False
17.25 μs 15.97 μs 0.93 0.16 False
377.00 μs 330.81 μs 0.88 0.16 False
214.03 μs 186.56 μs 0.87 0.27 False
12.27 μs 11.22 μs 0.91 0.20 False
423.48 μs 379.64 μs 0.90 0.24 False
287.23 μs 256.96 μs 0.89 0.19 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives&lt;Single&gt;*'
### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Sqrt(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Log(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Log(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Truncate(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Sqrt(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Ieee754Remainder_Vector(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Exp(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Sinh(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Sin(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Sinh(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Ieee754Remainder_ScalarDividend(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.AtanPi(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.AtanPi(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Round(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Truncate(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Ieee754Remainder_ScalarDivisor(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Sigmoid(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Round(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Sigmoid(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Buffers.Tests.ReadOnlySequenceTests<Char>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
138.00 ns 104.00 ns 0.75 0.34 False
34.84 ns 24.43 ns 0.70 0.36 False
26.45 ns 20.36 ns 0.77 0.43 False
485.64 ns 405.93 ns 0.84 0.33 False
26.93 ns 20.26 ns 0.75 0.46 False
148.83 ns 111.57 ns 0.75 0.42 False
122.21 ns 96.94 ns 0.79 0.33 False
97.38 ns 67.94 ns 0.70 0.40 False
35.97 ns 27.00 ns 0.75 0.43 False
639.91 ns 450.44 ns 0.70 0.41 False
34.08 ns 24.69 ns 0.72 0.43 False
484.22 ns 366.73 ns 0.76 0.31 False
42.41 ns 31.49 ns 0.74 0.46 False
94.37 ns 76.83 ns 0.81 0.35 False
564.30 ns 401.20 ns 0.71 0.32 False
47.05 ns 28.78 ns 0.61 0.43 False
130.16 ns 101.20 ns 0.78 0.31 False
87.29 ns 65.75 ns 0.75 0.33 False
28.84 ns 22.08 ns 0.77 0.41 False
197.96 ns 143.30 ns 0.72 0.33 False
91.88 ns 70.31 ns 0.77 0.29 False
86.23 ns 66.49 ns 0.77 0.27 False
491.71 ns 441.95 ns 0.90 0.42 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Tests.ReadOnlySequenceTests&lt;Char&gt;*'
### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateForEachSingleSegment #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstTenSegments #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstSpanTenSegments #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionArray #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstSpanSingleSegment #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateTryGetMemory #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateForEachArray #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateTryGetArray #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstSpanMemory #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionTenSegments #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstSpanArray #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionSingleSegment #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstMemory #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateTryGetSingleSegment #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionMemory #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstArray #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.SliceTenSegments #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.SliceSingleSegment #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstSingleSegment #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateForEachMemory #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.SliceMemory #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.SliceArray #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateForEachTenSegments #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Numerics.Tests.Perf_BigInteger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
28.76 ns 21.43 ns 0.74 0.56 False
40.81 ns 36.56 ns 0.90 0.54 False
944.87 ns 641.75 ns 0.68 0.01 False
1.67 μs 1.22 μs 0.73 0.01 False
28.53 ns 19.97 ns 0.70 0.57 False
27.25 ns 23.58 ns 0.87 0.61 False
43.50 ns 38.09 ns 0.88 0.44 False
33.05 ns 27.46 ns 0.83 0.57 False
968.84 μs 735.37 μs 0.76 0.01 False
36.70 ns 25.92 ns 0.71 0.58 False
1.45 ms 1.12 ms 0.77 0.01 False
40.79 ns 26.75 ns 0.66 0.56 False
35.28 ns 29.55 ns 0.84 0.50 False
42.61 ns 35.01 ns 0.82 0.52 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_BigInteger*'
### System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 67 bytes, DiffLastByte) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BigInteger.ToByteArray(numberString: -2147483648) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BigInteger.Multiply(arguments: 1024,512 bits) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BigInteger.Multiply(arguments: 1024,1024 bits) #### 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.Equals(arguments: 259 bytes, DiffFirstByte) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 259 bytes, DiffLastByte) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BigInteger.Add(arguments: 16,16 bits) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BigInteger.Multiply(arguments: 65536,32768 bits) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: -2147483648) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BigInteger.Multiply(arguments: 65536,65536 bits) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BigInteger.Multiply(arguments: 16,8 bits) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BigInteger.Equals(arguments: 259 bytes, DiffMiddleByte) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_BigInteger.Divide(arguments: 16,8 bits) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3ffa05f77509cd4c5eb1452ff49c0254a8bed905
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.ComponentModel.Tests.Perf_TypeDescriptorTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
592.93 ns 471.63 ns 0.80 0.30 False
856.43 ns 685.06 ns 0.80 0.23 False
466.34 ns 400.67 ns 0.86 0.34 False
891.99 ns 699.95 ns 0.78 0.24 False
578.90 ns 486.76 ns 0.84 0.30 False
1.07 μs 875.48 ns 0.82 0.30 False
927.53 ns 717.40 ns 0.77 0.24 False
924.56 ns 757.96 ns 0.82 0.18 False
956.34 ns 708.14 ns 0.74 0.27 False
913.39 ns 686.97 ns 0.75 0.24 False
577.68 ns 461.78 ns 0.80 0.27 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.ComponentModel.Tests.Perf_TypeDescriptorTests*'
### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.ClassIDerived)) #### 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(System.ComponentModel.Tests.IDerived)) #### ETL Files #### Histogram #### JIT Disasms ### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.Enum)) #### 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(System.ComponentModel.Tests.SomeEnum)) #### 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.DerivedClass)) #### 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(System.ComponentModel.Tests.ClassWithNoConverter)) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 2ecc177a5fcfa5a1f7c9ab60125ade171fb4d750
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.CreateAddAndClear<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
787.48 μs 686.54 μs 0.87 0.25 False
96.71 μs 84.87 μs 0.88 0.14 False
5.54 μs 4.34 μs 0.78 0.26 False
34.91 μs 31.64 μs 0.91 0.40 False
18.69 μs 14.91 μs 0.80 0.28 False
5.95 μs 5.15 μs 0.87 0.20 False
12.60 μs 9.11 μs 0.72 0.33 False
473.93 μs 401.95 μs 0.85 0.17 False
2.77 ms 2.35 ms 0.85 0.10 False
8.84 μs 6.41 μs 0.73 0.17 False
93.38 μs 78.31 μs 0.84 0.16 False
11.60 μs 9.40 μs 0.81 0.27 False
2.81 ms 2.48 ms 0.88 0.13 False
552.06 μs 457.51 μs 0.83 0.17 False
595.65 μs 536.33 μs 0.90 0.13 False
41.59 μs 36.24 μs 0.87 0.16 False
28.80 μs 25.57 μs 0.89 0.21 False
31.74 μs 27.40 μs 0.86 0.37 False
212.19 μs 196.41 μs 0.93 0.05 False
786.73 μs 612.57 μs 0.78 0.25 False
9.60 μs 7.71 μs 0.80 0.26 False
36.84 μs 32.70 μs 0.89 0.15 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CreateAddAndClear&lt;Int32&gt;*'
### System.Collections.CreateAddAndClear<Int32>.ImmutableSortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.ConcurrentDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.Stack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.ConcurrentBag(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.LinkedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.List(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.ImmutableStack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.SortedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.ImmutableHashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.Queue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.SortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.ConcurrentQueue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.ImmutableDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.ImmutableList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.SortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.IDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.HashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.ImmutableQueue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.ImmutableArray(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.ImmutableSortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.ICollection(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<Int32>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 7ce5d0fdf728bb2ae213541b17c2e489d2b06d09
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_Reader

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
6.38 μs 5.69 μs 0.89 0.26 False
16.34 μs 13.28 μs 0.81 0.23 False
516.92 ns 442.60 ns 0.86 0.28 False
2.49 μs 2.15 μs 0.86 0.21 False
9.11 μs 7.69 μs 0.84 0.29 False
20.17 μs 18.11 μs 0.90 0.30 False
245.01 ns 221.20 ns 0.90 0.34 False
10.36 μs 8.45 μs 0.82 0.37 False
1.95 μs 1.57 μs 0.81 0.27 False
8.00 μs 6.68 μs 0.83 0.37 False
5.81 μs 5.20 μs 0.90 0.21 False
16.48 μs 14.11 μs 0.86 0.40 False
131.10 μs 115.92 μs 0.88 0.33 False
4.73 μs 3.94 μs 0.83 0.33 False
547.15 ns 451.20 ns 0.82 0.21 False
17.46 μs 15.37 μs 0.88 0.25 False
1.77 μs 1.54 μs 0.87 0.36 False
4.90 μs 4.24 μs 0.86 0.22 False
169.39 μs 157.22 μs 0.93 0.13 False
1.55 μs 1.44 μs 0.93 0.38 False
154.04 μs 134.27 μs 0.87 0.27 False
1.97 μs 1.62 μs 0.82 0.30 False
3.05 μs 2.77 μs 0.91 0.44 False
130.32 μs 104.15 μs 0.80 0.31 False
153.65 μs 134.45 μs 0.88 0.23 False
4.32 μs 3.28 μs 0.76 0.38 False
245.82 ns 201.43 ns 0.82 0.37 False
13.02 μs 11.21 μs 0.86 0.39 False
2.11 μs 1.87 μs 0.89 0.34 False
295.50 ns 227.58 ns 0.77 0.27 False
8.42 μs 6.62 μs 0.79 0.37 False
4.07 μs 3.76 μs 0.92 0.30 False
257.91 ns 233.89 ns 0.91 0.23 False
4.10 μs 3.47 μs 0.85 0.38 False
21.20 μs 18.72 μs 0.88 0.27 False
118.41 μs 105.18 μs 0.89 0.33 False
15.78 μs 14.12 μs 0.89 0.24 False
4.65 μs 4.15 μs 0.89 0.31 False
4.12 μs 3.39 μs 0.82 0.48 False
3.63 μs 2.90 μs 0.80 0.47 False
12.79 μs 10.72 μs 0.84 0.33 False
297.61 ns 252.83 ns 0.85 0.31 False

graph graph graph graph graph graph graph graph graph graph graph graph ![graph](<https://pvscmdupload.blob.core.windows.net/autofilereport/autofilereports/05_21_2024/refs/heads/main_x64_ubuntu%2022.04_AOT%3Dtrue_Compila

performanceautofiler[bot] commented 6 months ago

tionMode%3Dwasm_RunKind%3Dmicro_Improvement/System.Text.Json.Tests.Perf_Reader_13.png>) 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Reader*'
### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: LotsOfNumbers) #### 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: True, TestCase: HelloWorld) #### 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: True, TestCase: DeepTree) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: BroadTree) #### 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.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: DeepTree) #### 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.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: DeepTree) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: LotsOfNumbers) #### 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.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json40KB) #### 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.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: HelloWorld) #### 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.ReadSingleSpanSequenceEmptyLoop(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.ReadReturnBytes(IsDataCompact: False, TestCase: Json40KB) #### 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.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: Json40KB) #### 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.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: LotsOfStrings) #### 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: Json40KB) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: LotsOfStrings) #### 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.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: Json4KB) #### 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.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: HelloWorld) #### 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.ReadReturnBytes(IsDataCompact: True, TestCase: LotsOfStrings) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: HelloWorld) #### 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: False, TestCase: BroadTree) #### 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.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: LotsOfNumbers) #### 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: LotsOfStrings) #### 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.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: HelloWorld) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Memory.ReadOnlySequence

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
82.82 ns 64.03 ns 0.77 0.43 False
351.61 ns 285.27 ns 0.81 0.31 False
21.85 ns 18.70 ns 0.86 0.64 False
86.37 ns 60.59 ns 0.70 0.44 False
39.32 ns 33.04 ns 0.84 0.54 False
21.87 ns 15.83 ns 0.72 0.67 False
94.27 ns 69.67 ns 0.74 0.41 False
44.13 ns 35.43 ns 0.80 0.59 False
35.06 ns 29.93 ns 0.85 0.57 False
81.50 ns 58.17 ns 0.71 0.48 False
76.66 ns 58.79 ns 0.77 0.39 False
294.73 ns 224.41 ns 0.76 0.39 False
38.96 ns 33.06 ns 0.85 0.50 False
68.28 ns 53.16 ns 0.78 0.50 False
141.23 ns 127.44 ns 0.90 0.23 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.ReadOnlySequence*'
### System.Memory.ReadOnlySequence.Slice_StartPosition_And_Length(Segment: Multiple) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySequence.Slice_Repeat(Segment: Multiple) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySequence.Slice_Start(Segment: Multiple) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySequence.Slice_Start_And_EndPosition(Segment: Multiple) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySequence.Slice_StartPosition(Segment: Single) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySequence.Slice_Start(Segment: Single) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySequence.Slice_Start_And_Length(Segment: Multiple) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySequence.Slice_StartPosition(Segment: Multiple) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySequence.Slice_StartPosition_And_EndPosition(Segment: Single) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySequence.Slice_StartPosition_And_Length(Segment: Single) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySequence.Slice_Start_And_EndPosition(Segment: Single) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySequence.Slice_Repeat(Segment: Single) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySequence.Slice_StartPosition_And_EndPosition(Segment: Multiple) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySequence.Slice_Start_And_Length(Segment: Single) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySequence.Slice_Repeat_StartPosition_And_EndPosition(Segment: Single) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
6.76 μs 5.70 μs 0.84 0.11 False
1.42 μs 1.22 μs 0.86 0.21 False
7.14 μs 6.51 μs 0.91 0.13 False
3.33 μs 2.74 μs 0.82 0.10 False
1.63 μs 1.41 μs 0.86 0.12 False
8.91 μs 7.93 μs 0.89 0.14 False
7.30 μs 5.99 μs 0.82 0.17 False
1.11 μs 972.89 ns 0.88 0.21 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;LargeStructWithProperties&gt;*'
### System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToWriter(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToUtf8Bytes(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>.SerializeToString(Mode: SourceGen) #### 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 ### System.Text.Json.Serialization.Tests.WriteJson<LargeStructWithProperties>.SerializeToWriter(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in LinqBenchmarks

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
11.62 secs 9.25 secs 0.80 0.30 False
1.42 secs 1.17 secs 0.82 0.27 False
26.21 secs 23.55 secs 0.90 0.27 False
2.78 secs 1.86 secs 0.67 0.45 False
1.23 secs 998.03 ms 0.81 0.40 False
3.96 secs 3.27 secs 0.83 0.38 False
1.09 secs 810.02 ms 0.74 0.24 False
17.93 secs 13.93 secs 0.78 0.24 False
17.31 secs 13.95 secs 0.81 0.24 False
1.78 secs 1.48 secs 0.83 0.19 False
29.27 secs 24.07 secs 0.82 0.15 False
416.24 ms 329.69 ms 0.79 0.36 False
18.11 secs 14.56 secs 0.80 0.21 False
16.13 secs 12.54 secs 0.78 0.22 False
1.20 secs 1.02 secs 0.85 0.39 False
2.42 secs 1.93 secs 0.80 0.41 False
2.06 secs 1.53 secs 0.74 0.30 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'LinqBenchmarks*'
### LinqBenchmarks.CountBy00LinqMethodX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.Count00ForX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.CountBy00AggregateByX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.Where00LinqMethodX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.Where01LinqQueryX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.Count00LinqMethodX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.Where01ForX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.CountBy00GroupByX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.GroupBy00AggregateByX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.Where00ForX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.AggregateBy00GroupByX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.Order00ManualX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.CountBy00LookupX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.GroupBy00LinqMethodX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.Where01LinqMethodX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.Where00LinqQueryX #### ETL Files #### Histogram #### JIT Disasms ### LinqBenchmarks.Where01LinqMethodNestedX #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Globalization.Tests.StringSearch

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
55.70 ns 47.80 ns 0.86 0.38 False
8.52 μs 7.56 μs 0.89 0.15 False
4.96 μs 4.22 μs 0.85 0.31 False
45.48 μs 41.57 μs 0.91 0.11 False
53.90 ns 44.63 ns 0.83 0.35 False
83.48 ns 71.23 ns 0.85 0.21 False
56.94 ns 45.21 ns 0.79 0.35 False
21.00 μs 19.37 μs 0.92 0.10 False
95.86 ns 85.29 ns 0.89 0.18 False
57.00 ns 46.88 ns 0.82 0.35 False
56.07 ns 47.99 ns 0.86 0.28 False
9.35 μs 7.66 μs 0.82 0.21 False
59.08 ns 46.48 ns 0.79 0.31 False
56.27 ns 45.55 ns 0.81 0.30 False
55.91 ns 50.86 ns 0.91 0.34 False
5.02 μs 4.17 μs 0.83 0.32 False
13.04 μs 11.52 μs 0.88 0.15 False
37.78 μs 34.82 μs 0.92 0.15 False
19.94 μs 18.23 μs 0.91 0.07 False
85.89 ns 73.28 ns 0.85 0.18 False
12.48 μs 11.79 μs 0.94 0.11 False
56.57 ns 44.56 ns 0.79 0.35 False
23.24 μs 21.16 μs 0.91 0.08 False
57.68 ns 47.46 ns 0.82 0.30 False
59.27 ns 49.08 ns 0.83 0.35 False
8.41 μs 7.62 μs 0.91 0.21 False
75.73 ns 67.36 ns 0.89 0.28 False
22.15 μs 19.90 μs 0.90 0.14 False
47.41 ns 39.53 ns 0.83 0.52 False
4.69 μs 4.18 μs 0.89 0.30 False
74.46 ns 62.20 ns 0.84 0.23 False
38.36 ns 30.88 ns 0.80 0.39 False
56.66 ns 44.65 ns 0.79 0.35 False
20.59 μs 18.14 μs 0.88 0.14 False
9.33 μs 7.79 μs 0.83 0.24 False
8.44 μs 7.64 μs 0.91 0.18 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Globalization.Tests.StringSearch*'
### System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (en-US, IgnoreNonSpace, False)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (, None, True)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, IgnoreCase, True)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (en-US, IgnoreSymbols, False)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (, None, False)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, Ordinal, False)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, Ordinal, False)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (, None, True)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, OrdinalIgnoreCase, False)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, None, False)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (, IgnoreCase, False)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, IgnoreCase, True)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, Ordinal, False)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, IgnoreCase, False)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IsSuffix_DifferentLastChar(Options: (, None, False)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (, None, True)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (, IgnoreCase, True)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IsPrefix_DifferentFirstChar(Options: (en-US, IgnoreSymbols, False)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, IgnoreSymbols, False)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, Ordinal, False)) #### ETL Files #### Histogram #### JIT Disasms ### System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, None, True)) #### ETL Files ###
performanceautofiler[bot] commented 6 months ago

Histogram

JIT Disasms

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

ETL Files

Histogram

JIT Disasms

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

ETL Files

Histogram

JIT Disasms

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

ETL Files

Histogram

JIT Disasms

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

ETL Files

Histogram

JIT Disasms

System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (pl-PL, None, False))

ETL Files

Histogram

JIT Disasms

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

ETL Files

Histogram

JIT Disasms

System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (, IgnoreCase, True))

ETL Files

Histogram

JIT Disasms

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

ETL Files

Histogram

JIT Disasms

System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, None, True))

ETL Files

Histogram

JIT Disasms

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

ETL Files

Histogram

JIT Disasms

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

ETL Files

Histogram

JIT Disasms

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

ETL Files

Histogram

JIT Disasms

System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, IgnoreSymbols, False))

ETL Files

Histogram

JIT Disasms

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

ETL Files

Histogram

JIT Disasms

System.Globalization.Tests.StringSearch.IsSuffix_SecondHalf(Options: (en-US, None, True))

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 ubuntu 22.04
Queue TigerUbuntu
Baseline 42c2362ca7d6030a4f665bb309fe49ce6552502b
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_Get

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.61 μs 2.15 μs 0.82 0.32 False
597.65 ns 505.78 ns 0.85 0.23 False
2.60 μs 2.38 μs 0.92 0.31 False
2.59 μs 2.06 μs 0.79 0.42 False
11.52 μs 8.95 μs 0.78 0.26 False
2.62 μs 2.13 μs 0.81 0.27 False
18.31 μs 14.88 μs 0.81 0.26 False
2.62 μs 2.07 μs 0.79 0.35 False
2.47 μs 2.03 μs 0.82 0.36 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Get*'
### System.Text.Json.Tests.Perf_Get.GetInt32 #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Get.GetBoolean #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Get.GetInt16 #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Get.GetInt64 #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Get.GetDouble #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Get.GetSByte #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Get.GetString #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Get.GetUInt16 #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Get.GetUInt64 #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Xml.Linq.Perf_XElement

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
435.25 ns 366.97 ns 0.84 0.17 False
220.06 ns 199.20 ns 0.91 0.25 False
291.83 ns 257.56 ns 0.88 0.18 False
271.82 ns 231.97 ns 0.85 0.33 False
357.05 ns 300.29 ns 0.84 0.16 False
349.07 ns 265.18 ns 0.76 0.18 False
216.27 ns 167.09 ns 0.77 0.31 False
189.81 ns 145.66 ns 0.77 0.28 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Xml.Linq.Perf_XElement*'
### System.Xml.Linq.Perf_XElement.CreateElementsWithNamespace #### ETL Files #### Histogram #### JIT Disasms ### System.Xml.Linq.Perf_XElement.CreateElement #### ETL Files #### Histogram #### JIT Disasms ### System.Xml.Linq.Perf_XElement.CreateWithElements #### ETL Files #### Histogram #### JIT Disasms ### System.Xml.Linq.Perf_XElement.GetValue #### ETL Files #### Histogram #### JIT Disasms ### System.Xml.Linq.Perf_XElement.CreateElementWithNamespace #### ETL Files #### Histogram #### JIT Disasms ### System.Xml.Linq.Perf_XElement.GetElementWithNamespace #### ETL Files #### Histogram #### JIT Disasms ### System.Xml.Linq.Perf_XElement.GetElement #### ETL Files #### Histogram #### JIT Disasms ### System.Xml.Linq.Perf_XElement.GetAttribute #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.IterateForEach<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
15.57 μs 11.78 μs 0.76 0.26 False
122.94 μs 103.25 μs 0.84 0.28 False
24.01 μs 18.40 μs 0.77 0.25 False
16.49 μs 13.60 μs 0.82 0.29 False
30.08 μs 22.91 μs 0.76 0.25 False
146.43 μs 106.92 μs 0.73 0.31 False
139.46 μs 115.80 μs 0.83 0.35 False
9.38 μs 7.78 μs 0.83 0.22 False
9.89 μs 7.97 μs 0.81 0.33 False
14.52 μs 11.71 μs 0.81 0.27 False
9.19 μs 7.50 μs 0.82 0.36 False
9.35 μs 7.68 μs 0.82 0.25 False
20.22 μs 15.84 μs 0.78 0.18 False
10.18 μs 9.32 μs 0.92 0.34 False
8.25 μs 6.51 μs 0.79 0.25 False
387.19 μs 318.97 μs 0.82 0.13 False
28.88 μs 25.73 μs 0.89 0.21 False
14.44 μs 9.98 μs 0.69 0.35 False
394.26 μs 311.86 μs 0.79 0.17 False
271.21 μs 206.99 μs 0.76 0.16 False
22.30 μs 15.68 μs 0.70 0.30 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForEach&lt;String&gt;*'
### System.Collections.IterateForEach<String>.ConcurrentStack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.ImmutableList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.ImmutableStack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.ConcurrentDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.ImmutableSortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.ImmutableSortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.HashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.Queue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.FrozenDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.Stack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.List(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.ConcurrentBag(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.LinkedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.FrozenSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.ImmutableHashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.SortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.IEnumerable(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.ImmutableDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.SortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<String>.ConcurrentQueue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3ffa05f77509cd4c5eb1452ff49c0254a8bed905
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Numerics.Tests.Perf_VectorOf<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
202.89 ns 148.47 ns 0.73 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_VectorOf&lt;Byte&gt;*'
### System.Numerics.Tests.Perf_VectorOf<Byte>.GetHashCodeBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.ContainsTrueComparer<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
77.14 μs 53.10 μs 0.69 0.34 False
790.28 μs 670.40 μs 0.85 0.23 False
755.15 μs 711.16 μs 0.94 0.23 False
81.32 μs 67.48 μs 0.83 0.33 False
169.36 μs 143.25 μs 0.85 0.18 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsTrueComparer&lt;String&gt;*'
### System.Collections.ContainsTrueComparer<String>.HashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrueComparer<String>.ImmutableSortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrueComparer<String>.SortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrueComparer<String>.FrozenSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrueComparer<String>.ImmutableHashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 42c2362ca7d6030a4f665bb309fe49ce6552502b
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.CreateAddAndClear<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
12.64 μs 10.19 μs 0.81 0.34 False
107.74 μs 98.47 μs 0.91 0.17 False
9.29 μs 8.15 μs 0.88 0.36 False
1.35 ms 1.19 ms 0.88 0.11 False
732.75 μs 586.41 μs 0.80 0.18 False
45.29 μs 41.49 μs 0.92 0.13 False
2.80 ms 2.48 ms 0.88 0.09 False
2.79 ms 2.34 ms 0.84 0.11 False
15.43 μs 13.38 μs 0.87 0.31 False
1.03 ms 937.55 μs 0.91 0.11 False
16.66 μs 12.20 μs 0.73 0.38 False
4.95 μs 4.24 μs 0.86 0.24 False
12.20 μs 9.50 μs 0.78 0.22 False
790.37 μs 690.10 μs 0.87 0.12 False
59.70 μs 52.34 μs 0.88 0.13 False
1.11 ms 998.39 μs 0.90 0.14 False
37.68 μs 32.65 μs 0.87 0.28 False
55.76 μs 49.49 μs 0.89 0.13 False
25.80 μs 20.84 μs 0.81 0.25 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CreateAddAndClear&lt;String&gt;*'
### System.Collections.CreateAddAndClear<String>.Queue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.ConcurrentDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.ImmutableStack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.SortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.SortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.HashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.ImmutableDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.ImmutableHashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.LinkedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.ImmutableSortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.ICollection(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.Array(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.ConcurrentQueue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.SortedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.IDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.ImmutableSortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.ConcurrentBag(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndClear<String>.ImmutableQueue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<LoginViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
8.34 μs 7.44 μs 0.89 0.16 False
3.75 μs 3.29 μs 0.88 0.15 False
2.51 μs 2.15 μs 0.86 0.17 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;LoginViewModel&gt;*'
### MicroBenchmarks.Serializers.Xml_ToStream<LoginViewModel>.XmlSerializer_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Xml_ToStream<LoginViewModel>.DataContractSerializer_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Xml_ToStream<LoginViewModel>.DataContractSerializer_BinaryXml_ #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.IterateForEach<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
167.00 μs 117.21 μs 0.70 0.29 False
239.78 μs 201.74 μs 0.84 0.15 False
8.95 μs 7.18 μs 0.80 0.30 False
11.64 μs 9.35 μs 0.80 0.25 False
13.52 μs 11.30 μs 0.84 0.35 False
8.24 μs 6.65 μs 0.81 0.28 False
31.57 μs 23.34 μs 0.74 0.33 False
124.48 μs 93.70 μs 0.75 0.27 False
9.32 μs 7.55 μs 0.81 0.23 False
8.03 μs 6.60 μs 0.82 0.26 False
31.57 μs 23.34 μs 0.74 0.27 False
401.60 μs 325.07 μs 0.81 0.15 False
39.48 μs 27.48 μs 0.70 0.34 False
8.42 μs 6.79 μs 0.81 0.27 False
157.15 μs 111.07 μs 0.71 0.32 False
60.92 μs 51.99 μs 0.85 0.22 False
109.79 μs 91.62 μs 0.83 0.09 False
415.49 μs 328.23 μs 0.79 0.18 False
11.17 μs 8.96 μs 0.80 0.24 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForEach&lt;Int32&gt;*'
### 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>.HashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.FrozenDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.IEnumerable(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.List(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.ImmutableQueue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.ConcurrentQueue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.Queue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.FrozenSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.ImmutableStack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.ImmutableDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.SortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.Stack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.ImmutableList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.ConcurrentBag(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.SortedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.ImmutableHashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IterateForEach<Int32>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Perf_Ascii

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
22.97 ns 18.16 ns 0.79 0.54 False
124.42 ns 106.74 ns 0.86 0.34 False
32.69 ns 29.65 ns 0.91 0.54 False
120.42 ns 91.81 ns 0.76 0.29 False
143.92 ns 107.96 ns 0.75 0.33 False
26.86 ns 20.67 ns 0.77 0.56 False
30.66 ns 25.25 ns 0.82 0.48 False
250.63 ns 179.49 ns 0.72 0.29 False
135.16 ns 94.21 ns 0.70 0.34 False
247.14 ns 180.78 ns 0.73 0.27 False
32.13 ns 27.78 ns 0.86 0.46 False
29.80 ns 25.58 ns 0.86 0.50 False
12.16 ns 7.52 ns 0.62 0.66 False
272.89 ns 173.22 ns 0.63 0.35 False
129.71 ns 102.02 ns 0.79 0.29 False
138.01 ns 107.98 ns 0.78 0.32 False
59.45 ns 49.37 ns 0.83 0.41 False
43.81 ns 36.24 ns 0.83 0.59 False
30.52 ns 22.24 ns 0.73 0.45 False
37.73 ns 27.93 ns 0.74 0.51 False
229.87 ns 176.81 ns 0.77 0.32 False
48.57 ns 30.25 ns 0.62 0.55 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Perf_Ascii*'
### System.Text.Perf_Ascii.ToUtf16(Size: 6) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.ToLower_Bytes(Size: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.EqualsIgnoreCase_DifferentCase_Bytes(Size: 6) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.ToLowerInPlace_Bytes(Size: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.ToLower_Bytes_Chars(Size: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.ToUpperInPlace_Chars(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.ToUpper_Chars(Size: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.ToUpperInPlace_Bytes(Size: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.ToLower_Chars(Size: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.ToUpper_Bytes(Size: 6) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.Equals_Bytes(Size: 6) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.IsValid_Bytes(Size: 6) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.ToLowerInPlace_Chars(Size: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.ToUpper_Bytes(Size: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.ToUpper_Bytes_Chars(Size: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.Equals_Chars(Size: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.EqualsIgnoreCase_ExactlyTheSame_Bytes(Size: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.Equals_Bytes_Chars(Size: 6) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.ToLower_Bytes_Chars(Size: 6) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Perf_Ascii.ToUpperInPlace_Chars(Size: 128) #### 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](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_Segment

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
15.86 μs 13.99 μs 0.88 0.23 False
1.50 ms 1.34 ms 0.89 0.22 False
159.14 μs 146.85 μs 0.92 0.27 False
15.06 μs 13.60 μs 0.90 0.23 False
16.39 μs 13.97 μs 0.85 0.26 False
1.53 ms 1.34 ms 0.88 0.25 False
171.53 μs 146.98 μs 0.86 0.27 False
146.90 μs 132.08 μs 0.90 0.21 False
148.17 μs 132.39 μs 0.89 0.27 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Segment*'
### System.Text.Json.Tests.Perf_Segment.ReadMultiSegmentSequenceUsingSpan(segmentSize: 4096, TestCase: Json4KB) #### 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.ReadMultiSegmentSequenceUsingSpan(segmentSize: 4096, TestCase: Json40KB) #### 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: 8192, TestCase: Json4KB) #### 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: 4096, TestCase: Json40KB) #### 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.ReadSingleSegmentSequenceByN(numberOfBytes: 8192, TestCase: Json40KB) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.41 ms 1.25 ms 0.88 0.09 False
1.39 ms 1.22 ms 0.87 0.09 False
1.20 ms 1.05 ms 0.88 0.08 False
1.61 ms 1.44 ms 0.90 0.09 False
1.45 ms 1.32 ms 0.91 0.08 False
1.22 ms 1.11 ms 0.91 0.10 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;MyEventsListerViewModel&gt;*'
### System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>.DeserializeFromReader(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>.DeserializeFromUtf8Bytes(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>.DeserializeFromUtf8Bytes(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>.DeserializeFromReader(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>.DeserializeFromString(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<MyEventsListerViewModel>.DeserializeFromString(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_Version

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
141.66 ns 117.15 ns 0.83 0.27 False
164.07 ns 142.36 ns 0.87 0.29 False
150.32 ns 134.67 ns 0.90 0.27 False
42.05 ns 32.51 ns 0.77 0.55 False
54.53 ns 47.88 ns 0.88 0.52 False
279.62 ns 211.80 ns 0.76 0.24 False
205.88 ns 167.04 ns 0.81 0.31 False
157.30 ns 132.26 ns 0.84 0.30 False
211.29 ns 179.81 ns 0.85 0.29 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Version*'
### System.Tests.Perf_Version.ToString2 #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Version.TryParse3 #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Version.ToString3 #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Version.Ctor4 #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Version.TryFormat3 #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Version.Parse4 #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Version.Parse3 #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Version.Parse2 #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Version.TryParse4 #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 42c2362ca7d6030a4f665bb309fe49ce6552502b
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in Microsoft.Extensions.DependencyInjection.TimeToFirstService

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
21.55 μs 19.66 μs 0.91 0.06 False
22.84 μs 20.56 μs 0.90 0.06 False
21.85 μs 20.40 μs 0.93 0.06 False
5.28 μs 4.43 μs 0.84 0.13 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.TimeToFirstService*'
### Microsoft.Extensions.DependencyInjection.TimeToFirstService.Transient(Mode: "Default") #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.TimeToFirstService.Scoped(Mode: "Default") #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.TimeToFirstService.Singleton(Mode: "Default") #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.TimeToFirstService.BuildProvider(Mode: "Default") #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3de068c2be232960f4cb3b233dd2b4014e2ce7c3
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.51 ms 2.20 ms 0.88 0.07 False
3.24 ms 2.89 ms 0.89 0.13 False
1.54 ms 1.33 ms 0.86 0.06 False
1.74 ms 1.52 ms 0.87 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;MyEventsListerViewModel&gt;*'
### MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>.JsonNet_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>.DataContractJsonSerializer_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>.SystemTextJson_SourceGen_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>.SystemTextJson_Reflection_ #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Concurrent.IsEmpty<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
39.36 ns 29.76 ns 0.76 0.50 False
52.25 ns 48.77 ns 0.93 0.55 False
44.98 ns 34.51 ns 0.77 0.57 False
119.53 ns 92.05 ns 0.77 0.38 False
55.44 ns 41.34 ns 0.75 0.50 False
41.03 ns 27.35 ns 0.67 0.57 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Concurrent.IsEmpty&lt;Int32&gt;*'
### System.Collections.Concurrent.IsEmpty<Int32>.Queue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Concurrent.IsEmpty<Int32>.Bag(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Concurrent.IsEmpty<Int32>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Concurrent.IsEmpty<Int32>.Dictionary(Size: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Concurrent.IsEmpty<Int32>.Bag(Size: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Concurrent.IsEmpty<Int32>.Queue(Size: 0) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.ReadJson<Location>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
4.86 μs 4.31 μs 0.89 0.11 False
7.80 μs 6.60 μs 0.85 0.09 False
4.98 μs 3.86 μs 0.77 0.12 False
6.68 μs 5.64 μs 0.84 0.11 False
6.06 μs 5.33 μs 0.88 0.13 False
6.36 μs 5.48 μs 0.86 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Location&gt;*'
### System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromString(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>.DeserializeFromUtf8Bytes(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromString(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromUtf8Bytes(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<Location>.DeserializeFromReader(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements 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
69.51 μs 58.83 μs 0.85 0.14 False
58.48 μs 47.09 μs 0.81 0.14 False
75.59 μs 62.38 μs 0.83 0.12 False
69.37 μs 59.70 μs 0.86 0.14 False
63.38 μs 53.64 μs 0.85 0.11 False
78.57 μs 65.41 μs 0.83 0.15 False
57.55 μs 48.66 μs 0.85 0.14 False
60.69 μs 51.12 μs 0.84 0.13 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;ImmutableSortedDictionary&lt;String, String&gt;&gt;*'
### System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToWriter(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToUtf8Bytes(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### 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>>.SerializeToUtf8Bytes(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeObjectProperty(Mode: SourceGen) #### 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>>.SerializeToWriter(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToString(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline dc982632aa2b15123ba5d7ff76589cd6c8e660ba
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_String

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
91.85 ns 82.93 ns 0.90 0.43 False
263.65 ns 215.01 ns 0.82 0.27 False
73.97 ns 53.10 ns 0.72 0.48 False
23.33 ns 19.17 ns 0.82 0.59 False
31.40 ns 22.40 ns 0.71 0.55 False
1.48 μs 1.33 μs 0.90 0.13 False
1.29 μs 1.08 μs 0.84 0.14 False
71.85 ns 65.53 ns 0.91 0.28 False
2.24 μs 2.02 μs 0.90 0.16 False
474.21 ns 434.33 ns 0.92 0.10 False
102.07 ns 88.06 ns 0.86 0.31 False
37.97 ns 22.97 ns 0.60 0.57 False
65.87 ns 55.19 ns 0.84 0.45 False
29.58 ns 25.47 ns 0.86 0.56 False
15.61 ns 12.58 ns 0.81 0.69 False
292.06 ns 221.86 ns 0.76 0.28 False
319.58 ns 251.10 ns 0.79 0.22 False
9.77 ns 7.44 ns 0.76 0.70 False
20.56 ns 13.12 ns 0.64 0.64 False
81.99 ns 69.17 ns 0.84 0.31 False
72.02 ns 62.62 ns 0.87 0.27 False
290.57 ns 235.39 ns 0.81 0.22 False
120.04 ns 108.36 ns 0.90 0.28 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_String*'
### System.Tests.Perf_String.Replace_Char(text: "Hello", oldChar: 'l', newChar: '!') #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.ToUpperInvariant(s: "This is a much longer piece of text that might benefit more from vectorization.") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.ToLower(s: "test") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.TrimStart_CharArr(s: "Test", c: [' ', ' ']) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Replace_String(text: "This is a very nice sentence", oldValue: "bad", newValue: "nice") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Join_Enumerable #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Format_OneArg(s: "Testing {0}, {0:C}, {0:D5}, {0:E} - {0:F4}{0:G}{0:N} {0:X} !!", o: 8) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Substring_Int(s: "dzsdzsDDZSDZSDZSddsz", i: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Split(s: "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z", arr: [' '], options: RemoveEmptyEntries) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Interpolation_MultipleArgs(c: '1', s: "Foo") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Remove_IntInt(s: "dzsdzsDDZSDZSDZSddsz", i1: 7, i2: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.IndexOfAny #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.ToUpper(s: "TEST") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.ToLowerInvariant(s: "test") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Remove_Int(s: "dzsdzsDDZSDZSDZSddsz", i: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.ToLowerInvariant(s: "This is a much longer piece of text that might benefit more from vectorization.") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.ToLower(s: "This is a much longer piece of text that might benefit more from vectorization.") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Substring_Int(s: "dzsdzsDDZSDZSDZSddsz", i: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Replace_Char(text: "This is a very nice sentence", oldChar: 'z', newChar: 'y') #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.CtorCharCount(size: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Substring_IntInt(s: "dzsdzsDDZSDZSDZSddsz", i1: 10, i2: 1) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.ToUpper(s: "This is a much longer piece of text that might benefit more from vectorization.") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Replace_Char(text: "yfesgj0sg1ijslnjsb3uofdz3tbzf6ysgblu3at20nfab2wei1kxfbvsbpzwhanjczcqa2psra3aacxb67qnwbnfp2tok6v0a58l", oldChar: 'b', newChar: '+') #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.CreateAddAndRemove<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
121.61 μs 113.75 μs 0.94 0.04 False
10.61 μs 8.56 μs 0.81 0.18 False
40.56 μs 29.27 μs 0.72 0.33 False
55.81 μs 49.37 μs 0.88 0.12 False
48.19 μs 39.17 μs 0.81 0.15 False
932.83 μs 809.77 μs 0.87 0.07 False
232.33 μs 183.90 μs 0.79 0.19 False
1.76 ms 1.44 ms 0.81 0.12 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CreateAddAndRemove&lt;Int32&gt;*'
### System.Collections.CreateAddAndRemove<Int32>.List(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndRemove<Int32>.Stack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndRemove<Int32>.LinkedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndRemove<Int32>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndRemove<Int32>.HashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndRemove<Int32>.SortedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndRemove<Int32>.SortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndRemove<Int32>.SortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_Int32

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
63.55 ns 46.41 ns 0.73 0.41 False
63.31 ns 56.47 ns 0.89 0.40 False
46.56 ns 40.59 ns 0.87 0.50 False
62.42 ns 39.37 ns 0.63 0.46 False
81.57 ns 59.39 ns 0.73 0.46 False
50.59 ns 45.97 ns 0.91 0.49 False
80.88 ns 49.99 ns 0.62 0.44 False
45.09 ns 38.22 ns 0.85 0.50 False
31.98 ns 22.71 ns 0.71 0.60 False
55.47 ns 44.84 ns 0.81 0.52 False
67.12 ns 56.43 ns 0.84 0.44 False
22.71 ns 18.76 ns 0.83 0.61 False
66.87 ns 54.50 ns 0.82 0.51 False
80.40 ns 52.78 ns 0.66 0.46 False
57.41 ns 47.96 ns 0.84 0.40 False
65.34 ns 51.85 ns 0.79 0.47 False
75.77 ns 65.02 ns 0.86 0.41 False
78.08 ns 57.73 ns 0.74 0.46 False
66.45 ns 44.92 ns 0.68 0.43 False
84.28 ns 77.10 ns 0.91 0.38 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Int32*'
### System.Tests.Perf_Int32.TryParseSpan(value: "2147483647") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.Parse(value: "4") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.TryParseSpan(value: "4") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.TryParseSpan(value: "12345") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.Parse(value: "2147483647") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.TryParse(value: "12345") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.Parse(value: "12345") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.TryParse(value: "4") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.TryFormat(value: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.ParseSpan(value: "12345") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.ParseSpan(value: "2147483647") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.ToString(value: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.ParseSpan(value: "-2147483648") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.ParseHex(value: "3039") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.TryParse(value: "2147483647") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.TryParse(value: "-2147483648") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.Parse(value: "-2147483648") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.ParseHex(value: "4") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.TryParseSpan(value: "-2147483648") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.ToString(value: 2147483647) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3ffa05f77509cd4c5eb1452ff49c0254a8bed905
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.ColdStartSerialization<SimpleStructWithProperties>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
11.84 μs 10.88 μs 0.92 0.12 False
11.31 μs 10.33 μs 0.91 0.13 False
7.95 μs 7.16 μs 0.90 0.16 False
12.46 μs 11.41 μs 0.92 0.10 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ColdStartSerialization&lt;SimpleStructWithProperties&gt;*'
### System.Text.Json.Serialization.Tests.ColdStartSerialization<SimpleStructWithProperties>.NewCustomizedOptions #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ColdStartSerialization<SimpleStructWithProperties>.NewDefaultOptions #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ColdStartSerialization<SimpleStructWithProperties>.CachedDefaultOptions #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ColdStartSerialization<SimpleStructWithProperties>.NewCachedCustomConverter #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.ContainsFalse<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
117.18 μs 91.08 μs 0.78 0.12 False
4.70 μs 4.01 μs 0.85 0.23 False
68.37 μs 63.23 μs 0.92 0.12 False
76.09 μs 60.31 μs 0.79 0.25 False
14.43 μs 10.87 μs 0.75 0.52 False
70.48 μs 56.86 μs 0.81 0.14 False
1.42 ms 1.16 ms 0.82 0.14 False
65.21 μs 53.31 μs 0.82 0.13 False
60.92 μs 54.06 μs 0.89 0.16 False
177.91 μs 137.90 μs 0.78 0.26 False
90.78 μs 76.56 μs 0.84 0.16 False
10.54 ms 7.35 ms 0.70 0.29 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsFalse&lt;Int32&gt;*'
### System.Collections.ContainsFalse<Int32>.ImmutableHashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsFalse<Int32>.FrozenSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsFalse<Int32>.Array(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsFalse<Int32>.SortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsFalse<Int32>.HashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsFalse<Int32>.ICollection(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsFalse<Int32>.LinkedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsFalse<Int32>.Queue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsFalse<Int32>.Stack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsFalse<Int32>.ImmutableSortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsFalse<Int32>.ImmutableArray(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsFalse<Int32>.ImmutableList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_HashCode

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
71.23 μs 62.95 μs 0.88 0.21 False
61.32 μs 51.45 μs 0.84 0.26 False
124.91 μs 105.97 μs 0.85 0.30 False
114.59 μs 93.40 μs 0.82 0.24 False
10.30 μs 7.31 μs 0.71 0.34 False
104.58 μs 82.99 μs 0.79 0.23 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_HashCode*'
### System.Tests.Perf_HashCode.Combine_2 #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_HashCode.Combine_1 #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_HashCode.Combine_8 #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_HashCode.Combine_5 #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_HashCode.Add #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_HashCode.Combine_4 #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.TryGetValueFalse<String, String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
729.08 μs 652.94 μs 0.90 0.16 False
133.55 μs 111.69 μs 0.84 0.15 False
38.06 μs 28.62 μs 0.75 0.27 False
38.78 μs 29.43 μs 0.76 0.29 False
785.94 μs 686.88 μs 0.87 0.16 False
50.18 μs 31.98 μs 0.64 0.33 False
31.14 μs 22.12 μs 0.71 0.34 False
1.42 ms 1.23 ms 0.87 0.11 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueFalse&lt;String, String&gt;*'
### System.Collections.TryGetValueFalse<String, String>.SortedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueFalse<String, String>.ImmutableDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueFalse<String, String>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueFalse<String, String>.FrozenDictionaryOptimized(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueFalse<String, String>.ImmutableSortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueFalse<String, String>.IDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueFalse<String, String>.ConcurrentDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueFalse<String, String>.SortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 073e35e7e32624e0f841d94364d2f28c73662ff7
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<XmlElement>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.28 μs 1.07 μs 0.84 0.16 False
4.10 μs 3.76 μs 0.92 0.10 False
693.44 ns 610.19 ns 0.88 0.22 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;XmlElement&gt;*'
### MicroBenchmarks.Serializers.Xml_ToStream<XmlElement>.DataContractSerializer_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Xml_ToStream<XmlElement>.XmlSerializer_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Xml_ToStream<XmlElement>.DataContractSerializer_BinaryXml_ #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_Int16

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
60.72 ns 48.90 ns 0.81 0.49 False
81.58 ns 61.85 ns 0.76 0.51 False
61.14 ns 48.94 ns 0.80 0.42 False
86.64 ns 59.59 ns 0.69 0.44 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Int16*'
### System.Tests.Perf_Int16.TryParse(value: "32767") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int16.Parse(value: "32767") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int16.TryParse(value: "-32768") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int16.Parse(value: "-32768") #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
45.90 ns 37.67 ns 0.82 0.43 False
75.07 ns 64.78 ns 0.86 0.41 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark*'
### Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark.ForEach_String #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark.ForEach_Array #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.65 μs 1.44 μs 0.88 0.13 False
1.17 μs 1.06 μs 0.91 0.18 False
1.30 μs 1.22 μs 0.94 0.18 False
1.15 μs 1.04 μs 0.90 0.18 False
1.57 μs 1.42 μs 0.90 0.15 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Nullable&lt;DateTimeOffset&gt;&gt;*'
### System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.DeserializeFromReader(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.DeserializeFromUtf8Bytes(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.DeserializeFromString(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.DeserializeFromUtf8Bytes(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.DeserializeFromReader(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 7ce5d0fdf728bb2ae213541b17c2e489d2b06d09
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Memory.ReadOnlySpan

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
  • [IndexOfString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 22.04_AOT=true_CompilationMode=wasm_RunKind=micro/System.Memory.ReadOnlySpan.IndexOfString(input%3a%20%22%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0.html>)
  • 📝 - Benchmark Source
  • ADX - Test Multi Config Graph
61.21 ns 51.75 ns 0.85 0.28 False
6.96 ns 3.28 ns 0.47 0.62 False
39.06 ns 31.19 ns 0.80 0.41 False
64.58 ns 55.76 ns 0.86 0.38 False
60.41 ns 53.72 ns 0.89 0.35 False
21.51 ns 16.20 ns 0.75 0.46 False
  • [IndexOfString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 22.04_AOT=true_CompilationMode=wasm_RunKind=micro/System.Memory.ReadOnlySpan.IndexOfString(input%3a%20%22%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%99%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%e3%81%a0%22%2c%20value%3a%20%22%e3%81%99%22%2c%20comparisonType%3a%20Ordinal).html>)
  • 📝 - Benchmark Source
  • ADX - Test Multi Config Graph
22.35 ns 17.39 ns 0.78 0.48 False
37.97 ns 32.39 ns 0.85 0.25 False
25.17 ns 15.02 ns 0.60 0.64 False
35.89 ns 27.93 ns 0.78 0.45 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.ReadOnlySpan*'
### System.Memory.ReadOnlySpan.IndexOfString(input: "だだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだxだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだ", value: "x", comparisonType: Ordinal) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySpan.StringAsSpan #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySpan.Trim(input: " abcdefg ") #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySpan.IndexOfString(input: "ABCDE", value: "c", comparisonType: InvariantCultureIgnoreCase) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySpan.IndexOfString(input: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", value: "X", comparisonType: Ordinal) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySpan.IndexOfString(input: "Hello Worldbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbba!", value: "y", comparisonType: Ordinal) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySpan.IndexOfString(input: "だだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだすだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだだ", value: "す", comparisonType: Ordinal) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySpan.IndexOfString(input: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", value: "x", comparisonType: OrdinalIgnoreCase) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySpan.Trim(input: "abcdefg") #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.ReadOnlySpan.IndexOfString(input: "Hello WorldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylongHello WorldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylongHello Worldbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbareallyreallylong!xyz", value: "~", comparisonType: Ordinal) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 7ce5d0fdf728bb2ae213541b17c2e489d2b06d09
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.CtorFromCollection<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
151.75 μs 125.58 μs 0.83 0.15 False
131.41 μs 120.68 μs 0.92 0.23 False
23.78 μs 19.95 μs 0.84 0.36 False
28.09 μs 23.37 μs 0.83 0.26 False
917.23 μs 782.75 μs 0.85 0.07 False
30.83 μs 26.38 μs 0.86 0.33 False
75.35 μs 70.07 μs 0.93 0.27 False
24.60 μs 19.97 μs 0.81 0.32 False
29.19 μs 26.16 μs 0.90 0.27 False
1.64 ms 1.33 ms 0.81 0.17 False
1.49 ms 1.26 ms 0.84 0.15 False
636.75 μs 558.22 μs 0.88 0.14 False
21.20 μs 16.86 μs 0.80 0.28 False
37.92 μs 34.20 μs 0.90 0.07 False
105.85 μs 87.99 μs 0.83 0.24 False
11.19 μs 9.77 μs 0.87 0.36 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorFromCollection&lt;Int32&gt;*'
### System.Collections.CtorFromCollection<Int32>.ImmutableSortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<Int32>.ImmutableList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<Int32>.ConcurrentQueue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<Int32>.HashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<Int32>.ImmutableSortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<Int32>.ConcurrentBag(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<Int32>.ConcurrentDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<Int32>.ImmutableStack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<Int32>.LinkedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<Int32>.ImmutableHashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<Int32>.ImmutableDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<Int32>.SortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<Int32>.ConcurrentStack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<Int32>.SortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<Int32>.SortedDictionaryDeepCopy(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<Int32>.ImmutableQueue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
54.97 μs 44.57 μs 0.81 0.15 False
230.08 μs 191.71 μs 0.83 0.21 False
10.03 μs 8.68 μs 0.87 0.26 False
546.06 μs 485.58 μs 0.89 0.20 False
11.24 μs 8.99 μs 0.80 0.28 False
21.33 μs 18.80 μs 0.88 0.17 False
2.32 μs 1.92 μs 0.83 0.21 False
660.73 μs 616.40 μs 0.93 0.17 False
16.07 μs 12.86 μs 0.80 0.30 False
224.58 μs 195.76 μs 0.87 0.33 False
22.80 μs 20.77 μs 0.91 0.21 False
1.81 μs 1.41 μs 0.78 0.29 False
80.92 μs 71.79 μs 0.89 0.06 False
9.60 μs 8.62 μs 0.90 0.29 False
3.47 μs 3.06 μs 0.88 0.14 False
593.65 μs 495.89 μs 0.84 0.17 False
24.62 μs 20.88 μs 0.85 0.17 False
8.79 μs 7.98 μs 0.91 0.43 False
9.15 μs 8.45 μs 0.92 0.38 False
80.96 μs 72.25 μs 0.89 0.11 False
221.52 μs 195.31 μs 0.88 0.27 False
339.28 μs 311.27 μs 0.92 0.27 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives&lt;Double&gt;*'
### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Log(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Pow_ScalarExponent(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Sqrt(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Truncate(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Pow_ScalarExponent(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Round(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Log(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Sigmoid(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.AtanPi(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Ieee754Remainder_ScalarDivisor(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Truncate(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Exp(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.FusedMultiplyAdd_ScalarAddend(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Pow_ScalarBase(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.FusedMultiplyAdd_ScalarAddend(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Sinh(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Sinh(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Ieee754Remainder_ScalarDividend(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Ieee754Remainder_ScalarDivisor(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.FusedMultiplyAdd_ScalarMultiplier(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Sqrt(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.AtanPi(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 2ecc177a5fcfa5a1f7c9ab60125ade171fb4d750
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in Microsoft.Extensions.Logging.LoggingOverhead

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
456.95 ns 360.80 ns 0.79 0.25 False
48.90 ns 33.15 ns 0.68 0.53 False
297.72 ns 256.44 ns 0.86 0.24 False
546.66 ns 444.10 ns 0.81 0.15 False
378.88 ns 319.43 ns 0.84 0.22 False
157.06 ns 137.19 ns 0.87 0.35 False
482.36 ns 392.29 ns 0.81 0.23 False
426.83 ns 361.33 ns 0.85 0.13 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Logging.LoggingOverhead*'
### Microsoft.Extensions.Logging.LoggingOverhead.NoArguments_DefineMessage #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Logging.LoggingOverhead.NoArguments_DefineMessage_FilteredByLevel #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Logging.LoggingOverhead.NoArguments_FilteredByLevel #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Logging.LoggingOverhead.TwoArguments #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Logging.LoggingOverhead.NoArguments #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Logging.LoggingOverhead.TwoArguments_DefineMessage_FilteredByLevel #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Logging.LoggingOverhead.TwoArguments_DefineMessage #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Logging.LoggingOverhead.TwoArguments_FilteredByLevel #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Concurrent.IsEmpty<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
32.27 ns 29.84 ns 0.92 0.49 False
78.97 ns 69.85 ns 0.88 0.28 False
31.65 ns 20.58 ns 0.65 0.54 False
58.42 ns 38.84 ns 0.66 0.54 False
59.41 ns 37.65 ns 0.63 0.51 False
30.95 ns 20.49 ns 0.66 0.56 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Concurrent.IsEmpty&lt;String&gt;*'
### System.Collections.Concurrent.IsEmpty<String>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Concurrent.IsEmpty<String>.Dictionary(Size: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Concurrent.IsEmpty<String>.Queue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Concurrent.IsEmpty<String>.Bag(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Concurrent.IsEmpty<String>.Bag(Size: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Concurrent.IsEmpty<String>.Queue(Size: 0) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 42c2362ca7d6030a4f665bb309fe49ce6552502b
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_FromStream<CollectionsOfPrimitives>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
12.03 ms 11.27 ms 0.94 0.02 False
3.26 ms 2.75 ms 0.84 0.16 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;CollectionsOfPrimitives&gt;*'
### MicroBenchmarks.Serializers.Xml_FromStream<CollectionsOfPrimitives>.DataContractSerializer_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Xml_FromStream<CollectionsOfPrimitives>.DataContractSerializer_BinaryXml_ #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Cache

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
23.20 ms 20.47 ms 0.88 0.06 False
311.32 ms 289.54 ms 0.93 0.08 False
130.13 ms 114.80 ms 0.88 0.10 False
132.51 ms 123.49 ms 0.93 0.11 False
215.77 ms 196.00 ms 0.91 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Cache*'
### System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total: 40000, unique: 1600, cacheSize: 3200) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total: 40000, unique: 1600, cacheSize: 15) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total: 400000, unique: 7, cacheSize: 15) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total: 40000, unique: 7, cacheSize: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.RegularExpressions.Tests.Perf_Regex_Cache.IsMatch(total: 40000, unique: 1600, cacheSize: 800) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3ffa05f77509cd4c5eb1452ff49c0254a8bed905
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.AddGivenSize<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
70.85 μs 59.37 μs 0.84 0.25 False
27.98 μs 22.26 μs 0.80 0.28 False
8.79 μs 6.22 μs 0.71 0.37 False
456.95 μs 402.11 μs 0.88 0.11 False
22.31 μs 19.06 μs 0.85 0.27 False
94.10 μs 82.18 μs 0.87 0.21 False
17.60 μs 15.07 μs 0.86 0.26 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.AddGivenSize&lt;Int32&gt;*'
### System.Collections.AddGivenSize<Int32>.ObservableCollection(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.AddGivenSize<Int32>.IDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.AddGivenSize<Int32>.ICollection(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.AddGivenSize<Int32>.SortedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.AddGivenSize<Int32>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.AddGivenSize<Int32>.ConcurrentDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.AddGivenSize<Int32>.HashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 2ecc177a5fcfa5a1f7c9ab60125ade171fb4d750
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_Deep

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
14.46 ms 12.84 ms 0.89 0.22 False
43.45 ms 40.97 ms 0.94 0.08 False
13.61 ms 12.21 ms 0.90 0.19 False
15.75 ms 12.62 ms 0.80 0.19 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Deep*'
### System.Text.Json.Tests.Perf_Deep.WriteDeepUtf16(Formatted: False, SkipValidation: False) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Deep.WriteDeepUtf16(Formatted: True, SkipValidation: False) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Deep.WriteDeepUtf8(Formatted: False, SkipValidation: True) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Tests.Perf_Deep.WriteDeepUtf16(Formatted: False, SkipValidation: True) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline dc982632aa2b15123ba5d7ff76589cd6c8e660ba
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_DateTimeOffset

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
162.64 ns 144.12 ns 0.89 0.27 False
419.09 ns 335.02 ns 0.80 0.12 False
22.09 ns 18.93 ns 0.86 0.53 False
443.65 ns 377.50 ns 0.85 0.16 False
117.13 ns 99.03 ns 0.85 0.37 False
129.45 ns 110.94 ns 0.86 0.27 False
445.11 ns 378.50 ns 0.85 0.16 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_DateTimeOffset*'
### System.Tests.Perf_DateTimeOffset.ToString(format: "o") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_DateTimeOffset.ToString(format: "G") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_DateTimeOffset.op_Subtraction #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_DateTimeOffset.ToString(format: null) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_DateTimeOffset.ToString(format: "s") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_DateTimeOffset.ToString(format: "r") #### 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 ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3ffa05f77509cd4c5eb1452ff49c0254a8bed905
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Tests.Perf_PriorityQueue<String, String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
405.69 μs 361.52 μs 0.89 0.23 False
20.96 μs 17.92 μs 0.86 0.25 False
3.70 μs 1.85 μs 0.50 0.34 False
175.32 μs 148.72 μs 0.85 0.17 False
292.26 ns 239.29 ns 0.82 0.35 False
3.49 μs 2.88 μs 0.82 0.20 False
2.84 ms 2.54 ms 0.90 0.17 False
18.54 μs 16.08 μs 0.87 0.14 False
7.43 μs 6.77 μs 0.91 0.19 False
192.43 μs 159.10 μs 0.83 0.23 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Perf_PriorityQueue&lt;String, String&gt;*'
### System.Collections.Tests.Perf_PriorityQueue<String, String>.Dequeue_And_Enqueue(Size: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<String, String>.Enumerate(Size: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<String, String>.Enumerate(Size: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<String, String>.HeapSort(Size: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<String, String>.Enumerate(Size: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<String, String>.K_Max_Elements(Size: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<String, String>.HeapSort(Size: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<String, String>.Dequeue_And_Enqueue(Size: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<String, String>.HeapSort(Size: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<String, String>.K_Max_Elements(Size: 1000) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.CtorDefaultSize<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
30.91 ns 26.60 ns 0.86 0.54 False
120.37 ns 106.76 ns 0.89 0.32 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorDefaultSize&lt;Int32&gt;*'
### System.Collections.CtorDefaultSize<Int32>.Dictionary #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorDefaultSize<Int32>.ConcurrentDictionary #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3ffa05f77509cd4c5eb1452ff49c0254a8bed905
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_Enum

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.45 μs 1.30 μs 0.90 0.16 False
118.05 ns 100.30 ns 0.85 0.28 False
79.87 ns 71.26 ns 0.89 0.40 False
155.60 ns 128.06 ns 0.82 0.31 False
136.27 ns 121.13 ns 0.89 0.35 False
139.13 ns 119.71 ns 0.86 0.34 False
1.43 μs 1.22 μs 0.85 0.20 False
273.79 ns 240.52 ns 0.88 0.22 False
1.32 μs 1.18 μs 0.89 0.18 False
1.33 μs 1.19 μs 0.89 0.15 False
65.83 ns 56.66 ns 0.86 0.49 False
80.60 ns 67.95 ns 0.84 0.47 False
1.29 μs 1.18 μs 0.91 0.25 False
89.39 ns 71.67 ns 0.80 0.46 False
1.46 μs 1.21 μs 0.83 0.21 False
115.63 ns 96.83 ns 0.84 0.41 False
210.54 ns 189.54 ns 0.90 0.11 False
20.04 ns 12.73 ns 0.63 0.67 False
1.53 μs 1.25 μs 0.82 0.16 False
1.41 μs 1.24 μs 0.88 0.16 False
1.51 μs 1.29 μs 0.86 0.15 False
157.64 ns 124.41 ns 0.79 0.34 False
64.99 ns 58.09 ns 0.89 0.44 False
72.61 ns 54.63 ns 0.75 0.42 False
705.66 ns 598.32 ns 0.85 0.13 False
1.34 μs 1.17 μs 0.88 0.19 False
147.85 ns 115.35 ns 0.78 0.33 False
1.28 μs 1.14 μs 0.90 0.20 False
97.95 ns 60.71 ns 0.62 0.46 False
126.36 ns 118.38 ns 0.94 0.28 False
771.01 ns 670.91 ns 0.87 0.11 False
196.26 ns 163.41 ns 0.83 0.25 False
1.48 μs 1.30 μs 0.88 0.20 False
1.39 μs 1.30 μs 0.93 0.13 False
111.63 ns 89.64 ns 0.80 0.40 False
196.84 ns 180.82 ns 0.92 0.27 False
741.04 ns 624.04 ns 0.84 0.18 False
72.82 ns 60.90 ns 0.84 0.48 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Enum*'
### System.Tests.Perf_Enum.InterpolateIntoStringBuilder_NonFlags(value: Saturday) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.GetValuesAsUnderlyingType_NonGeneric #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.ToString_Format_Flags_Large(value: All, format: "g") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.ToString_Format_Flags_Large(value: All, format: "x") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.GetName_Generic_NonFlags #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.IsDefined_Generic_NonFlags #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.InterpolateIntoStringBuilder_Flags(value: Red, Green) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.TryParseGeneric_Flags(text: "Red") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.InterpolateIntoSpan_NonFlags(value: Saturday) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.InterpolateIntoSpan_Flags(value: Red, Green) #### 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_Flags_Large(value: All, format: "f") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.InterpolateIntoSpan_Flags(value: 32) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.ToString_Format_NonFlags(value: 7, format: "G") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.InterpolateIntoStringBuilder_NonFlags(value: 42) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.GetValuesAsUnderlyingType_Generic #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.ToString_Flags(value: Red, Orange, Yellow, Green, Blue) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.Compare #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.InterpolateIntoString(value: 32) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.InterpolateIntoStringBuilder_Flags(value: Red) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.InterpolateIntoString(value: Red, Green) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.GetName_Generic_Flags #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.ToString_NonFlags_Small(value: TopDirectoryOnly) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.ToString_Format_NonFlags(value: Saturday, format: "D") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.StringFormat(value: Red) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.InterpolateIntoSpan_NonFlags(value: 42) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.IsDefined_Generic_Flags #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.InterpolateIntoSpan_Flags(value: Red) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.ToString_Format_NonFlags(value: Thursday, format: "f") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.ToString_NonFlags_Large(value: 42) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.StringFormat(value: Red, Green) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.GetNames_Generic #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.InterpolateIntoStringBuilder_Flags(value: 32) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.InterpolateIntoString(value: Red) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.ToString_Format_NonFlags(value: 8, format: "F") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.GetName_NonGeneric_Flags #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Enum.StringFormat(value: 32) #### 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](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 42c2362ca7d6030a4f665bb309fe49ce6552502b
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.IndexerSet<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
49.01 μs 36.39 μs 0.74 0.25 False
17.85 μs 13.12 μs 0.73 0.34 False
1.20 ms 1.04 ms 0.86 0.14 False
3.61 μs 2.82 μs 0.78 0.30 False
10.64 μs 8.17 μs 0.77 0.41 False
81.22 μs 70.60 μs 0.87 0.21 False
581.91 μs 491.51 μs 0.84 0.19 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IndexerSet&lt;String&gt;*'
### System.Collections.IndexerSet<String>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IndexerSet<String>.IList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IndexerSet<String>.SortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IndexerSet<String>.Array(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IndexerSet<String>.List(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IndexerSet<String>.ConcurrentDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IndexerSet<String>.SortedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare a71a85a65f6527ca2754ccf336f1fc77f02c409b
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.WriteJson<ArrayList>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
30.66 μs 27.72 μs 0.90 0.12 False
29.31 μs 24.01 μs 0.82 0.17 False
30.29 μs 24.05 μs 0.79 0.12 False
29.87 μs 25.97 μs 0.87 0.15 False
28.30 μs 24.67 μs 0.87 0.15 False
30.17 μs 25.76 μs 0.85 0.15 False
29.44 μs 24.70 μs 0.84 0.12 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;ArrayList&gt;*'
### System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeObjectProperty(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>.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>.SerializeToString(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToUtf8Bytes(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Memory.Span<Char>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
13.09 ns 9.37 ns 0.72 0.58 False
19.38 ns 18.22 ns 0.94 0.57 False
45.01 ns 33.15 ns 0.74 0.51 False
13.46 ns 8.63 ns 0.64 0.66 False
51.25 ns 43.81 ns 0.85 0.27 False
19.67 ns 9.05 ns 0.46 0.72 False
22.53 ns 18.60 ns 0.83 0.54 False
3.59 ns 2.51 ns 0.70 0.29 False
23.78 ns 16.53 ns 0.70 0.62 False
13.45 ns 9.88 ns 0.74 0.63 False
15.29 ns 9.77 ns 0.64 0.66 False
21.43 ns 15.79 ns 0.74 0.57 False
37.67 ns 30.59 ns 0.81 0.48 False
23.16 ns 13.64 ns 0.59 0.63 False
18.70 ns 13.59 ns 0.73 0.60 False
61.35 ns 50.91 ns 0.83 0.34 False
3.53 ns 2.51 ns 0.71 0.36 False
55.32 ns 44.71 ns 0.81 0.27 False
55.08 ns 45.97 ns 0.83 0.34 False
15.68 ns 7.51 ns 0.48 0.63 False
3.61 ns 2.54 ns 0.70 0.35 False
47.65 ns 43.70 ns 0.92 0.30 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span&lt;Char&gt;*'
### System.Memory.Span<Char>.IndexOfAnyTwoValues(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.SequenceCompareTo(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.LastIndexOfValue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfValue(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.EndsWith(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.Fill(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.SequenceCompareToDifferent(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.GetPinnableReference(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.Fill(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.LastIndexOfAnyValues(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.LastIndexOfValue(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.Reverse(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfValue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfAnyFourValues(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.Reverse(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfAnyFiveValues(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.GetPinnableReference(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfAnyFourValues(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfAnyThreeValues(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfAnyThreeValues(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.GetPinnableReference(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfAnyTwoValues(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Node.Tests.Perf_ParseThenWrite

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
22.23 μs 18.99 μs 0.85 0.09 False
156.67 μs 139.98 μs 0.89 0.08 False
2.67 μs 2.33 μs 0.87 0.18 False
148.56 μs 133.21 μs 0.90 0.06 False
115.41 μs 103.08 μs 0.89 0.08 False
209.85 μs 183.47 μs 0.87 0.10 False
33.37 μs 31.49 μs 0.94 0.12 False
15.03 ms 13.50 ms 0.90 0.11 False
23.09 μs 20.22 μs 0.88 0.08 False
2.59 μs 2.40 μs 0.93 0.18 False
49.70 μs 43.57 μs 0.88 0.08 False
47.58 μs 42.51 μs 0.89 0.08 False
15.75 ms 14.65 ms 0.93 0.11 False
194.86 μs 172.67 μs 0.89 0.09 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Node.Tests.Perf_ParseThenWrite*'
### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json400B) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json4KB) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: HelloWorld) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json4KB) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: DeepTree) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: BroadTree) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: LotsOfStrings) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: Json400KB) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json400B) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: HelloWorld) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: LotsOfNumbers) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: LotsOfNumbers) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: True, TestCase: Json400KB) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Node.Tests.Perf_ParseThenWrite.ParseThenWrite(IsDataIndented: False, TestCase: BroadTree) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 2ecc177a5fcfa5a1f7c9ab60125ade171fb4d750
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
40.21 μs 36.24 μs 0.90 0.09 False
42.27 μs 37.45 μs 0.89 0.14 False
50.45 μs 41.39 μs 0.82 0.10 False
44.08 μs 37.16 μs 0.84 0.09 False
43.39 μs 35.25 μs 0.81 0.15 False
51.37 μs 42.53 μs 0.83 0.09 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;HashSet&lt;String&gt;&gt;*'
### System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromUtf8Bytes(Mode: SourceGen) #### 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>>.DeserializeFromReader(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>>.DeserializeFromUtf8Bytes(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<HashSet<String>>.DeserializeFromReader(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 42c2362ca7d6030a4f665bb309fe49ce6552502b
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.WriteJson<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
663.17 ns 555.51 ns 0.84 0.18 False
285.55 ns 205.84 ns 0.72 0.31 False
531.74 ns 428.40 ns 0.81 0.29 False
1.15 μs 956.85 ns 0.83 0.15 False
1.20 μs 1.11 μs 0.93 0.18 False
515.33 ns 449.31 ns 0.87 0.23 False
663.04 ns 538.82 ns 0.81 0.23 False
281.96 ns 222.60 ns 0.79 0.29 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Int32&gt;*'
### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeToString(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeToWriter(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeToUtf8Bytes(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### 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 ### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeToUtf8Bytes(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeToString(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<Int32>.SerializeToWriter(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
345.75 μs 311.62 μs 0.90 0.28 False
140.67 μs 101.20 μs 0.72 0.28 False
24.29 μs 20.84 μs 0.86 0.35 False
17.85 μs 14.40 μs 0.81 0.40 False
31.53 μs 25.59 μs 0.81 0.30 False
136.40 μs 113.64 μs 0.83 0.16 False
17.78 μs 12.82 μs 0.72 0.46 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueTrue&lt;Int32, Int32&gt;*'
### System.Collections.TryGetValueTrue<Int32, Int32>.SortedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueTrue<Int32, Int32>.ImmutableSortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueTrue<Int32, Int32>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueTrue<Int32, Int32>.ConcurrentDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueTrue<Int32, Int32>.IDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueTrue<Int32, Int32>.ImmutableDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueTrue<Int32, Int32>.FrozenDictionaryOptimized(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Reflection.Invoke

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
220.21 ns 197.34 ns 0.90 0.16 False
582.58 ns 516.19 ns 0.89 0.05 False
292.10 ns 261.01 ns 0.89 0.18 False
456.22 ns 414.18 ns 0.91 0.15 False
556.81 ns 513.13 ns 0.92 0.07 False
499.27 ns 467.26 ns 0.94 0.08 False
355.86 ns 283.07 ns 0.80 0.20 False
358.41 ns 309.81 ns 0.86 0.10 False
308.46 ns 252.61 ns 0.82 0.20 False
411.62 ns 344.28 ns 0.84 0.26 False
370.40 ns 303.54 ns 0.82 0.12 False
600.66 ns 528.87 ns 0.88 0.06 False
509.54 ns 405.40 ns 0.80 0.18 False
416.71 ns 383.32 ns 0.92 0.07 False
389.59 ns 362.14 ns 0.93 0.07 False
289.63 ns 235.05 ns 0.81 0.21 False
477.19 ns 424.28 ns 0.89 0.14 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Reflection.Invoke*'
### System.Reflection.Invoke.Property_Get_int #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.Field_Set_int #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.Property_Get_class #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.Property_Set_class #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.Field_Get_int #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.Field_Get_class #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.StaticMethod4_arrayNotCached_int_string_struct_class #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.Field_GetStatic_class #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.Ctor4_int_string_struct_class #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.Ctor0_ActivatorCreateInstance_NoParams #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.Method0_NoParms #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.Field_Get_struct #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.Property_Set_int #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.Field_SetStatic_struct #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.Field_SetStatic_int #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.StaticMethod4_int_string_struct_class #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Invoke.Field_SetStatic_class #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3ffa05f77509cd4c5eb1452ff49c0254a8bed905
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.TryAddDefaultSize<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
57.18 μs 48.25 μs 0.84 0.09 False
109.12 μs 100.12 μs 0.92 0.14 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryAddDefaultSize&lt;String&gt;*'
### System.Collections.TryAddDefaultSize<String>.Dictionary(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryAddDefaultSize<String>.ConcurrentDictionary(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Sort<IntClass>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
217.22 μs 155.24 μs 0.71 0.41 False
91.80 μs 74.10 μs 0.81 0.31 False
100.38 μs 80.84 μs 0.81 0.35 False
341.42 μs 256.89 μs 0.75 0.29 False
199.62 μs 160.31 μs 0.80 0.33 False
336.47 μs 299.84 μs 0.89 0.35 False
181.76 μs 145.90 μs 0.80 0.33 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Sort&lt;IntClass&gt;*'
### System.Collections.Sort<IntClass>.Array_Comparison(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<IntClass>.List(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<IntClass>.Array(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<IntClass>.LinqQuery(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<IntClass>.Array_ComparerStruct(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<IntClass>.LinqOrderByExtension(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<IntClass>.Array_ComparerClass(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3de068c2be232960f4cb3b233dd2b4014e2ce7c3
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.ReadJson<StructRecord>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
7.58 μs 6.47 μs 0.85 0.13 False
8.73 μs 7.49 μs 0.86 0.15 False
8.54 μs 7.54 μs 0.88 0.12 False
7.47 μs 6.67 μs 0.89 0.20 False
7.96 μs 7.05 μs 0.89 0.22 False
7.79 μs 7.02 μs 0.90 0.18 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;StructRecord&gt;*'
### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromUtf8Bytes(Mode: SourceGen) #### 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>.DeserializeFromReader(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<StructRecord>.DeserializeFromUtf8Bytes(Mode: Reflection) #### 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>.DeserializeFromString(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Sort<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
78.11 μs 65.90 μs 0.84 0.16 False
792.54 μs 682.44 μs 0.86 0.19 False
502.69 μs 422.76 μs 0.84 0.27 False
780.66 μs 684.58 μs 0.88 0.23 False
77.74 μs 65.69 μs 0.85 0.15 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Sort&lt;Int32&gt;*'
### System.Collections.Sort<Int32>.Array_ComparerClass(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<Int32>.LinqQuery(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<Int32>.Array_Comparison(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<Int32>.LinqOrderByExtension(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Sort<Int32>.Array_ComparerStruct(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline dc982632aa2b15123ba5d7ff76589cd6c8e660ba
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Memory.Span<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
42.33 ns 34.26 ns 0.81 0.41 False
28.48 ns 16.28 ns 0.57 0.50 False
3.62 ns 2.52 ns 0.70 0.30 False
3.61 ns 2.52 ns 0.70 0.32 False
19.77 ns 13.56 ns 0.69 0.59 False
32.17 ns 26.20 ns 0.81 0.51 False
34.75 ns 23.33 ns 0.67 0.50 False
3.57 ns 2.53 ns 0.71 0.35 False
45.79 ns 42.96 ns 0.94 0.34 False
28.49 ns 22.02 ns 0.77 0.48 False
12.79 ns 8.67 ns 0.68 0.66 False
27.19 ns 16.43 ns 0.60 0.56 False
19.46 ns 15.86 ns 0.82 0.61 False
21.26 ns 11.52 ns 0.54 0.65 False
41.73 ns 35.40 ns 0.85 0.39 False
13.55 ns 8.74 ns 0.65 0.62 False
15.91 ns 8.27 ns 0.52 0.64 False
47.82 ns 35.15 ns 0.74 0.60 False
30.60 ns 20.23 ns 0.66 0.58 False
55.14 ns 49.63 ns 0.90 0.40 False
15.94 ns 7.14 ns 0.45 0.64 False
22.51 ns 18.30 ns 0.81 0.60 False
18.52 ns 16.17 ns 0.87 0.63 False
28.62 ns 23.85 ns 0.83 0.39 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span&lt;Byte&gt;*'
### System.Memory.Span<Byte>.IndexOfAnyFiveValues(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.SequenceCompareToDifferent(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.GetPinnableReference(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.GetPinnableReference(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.LastIndexOfValue(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.LastIndexOfValue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.LastIndexOfAnyValues(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.GetPinnableReference(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.SequenceEqual(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.SequenceCompareTo(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.IndexOfAnyThreeValues(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.SequenceCompareToDifferent(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.SequenceCompareToDifferent(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.BinarySearch(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.IndexOfAnyFourValues(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.StartsWith(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.IndexOfValue(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.Fill(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.IndexOfValue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.SequenceCompareTo(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.IndexOfAnyTwoValues(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.SequenceCompareTo(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.BinarySearch(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Byte>.StartsWith(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 073e35e7e32624e0f841d94364d2f28c73662ff7
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
61.31 ns 39.92 ns 0.65 0.31 False
68.89 ns 53.01 ns 0.77 0.39 False
67.51 ns 59.92 ns 0.89 0.26 False
82.62 ns 70.47 ns 0.85 0.28 False
280.11 μs 264.71 μs 0.95 0.15 False
5.24 μs 4.84 μs 0.92 0.24 False
69.97 ns 57.66 ns 0.82 0.41 False
71.00 ns 51.14 ns 0.72 0.37 False
363.67 ns 302.68 ns 0.83 0.12 False
64.82 ns 56.32 ns 0.87 0.26 False
361.46 ns 303.77 ns 0.84 0.14 False
59.58 ns 50.95 ns 0.86 0.42 False
127.69 ns 112.50 ns 0.88 0.15 False
119.27 ns 104.21 ns 0.87 0.18 False
346.60 ns 311.66 ns 0.90 0.19 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives&lt;Single&gt;*'
### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.SumOfSquares(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.Add_Vector(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.AddMultiply_ScalarMultiplier(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.AddMultiply_Vectors(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.Abs(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.Negate(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.AddMultiply_ScalarAddend(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.Divide_Vector(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.Add_Scalar(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.BitwiseAnd_Vector(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.BitwiseAnd_Scalar(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.SumOfMagnitudes(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.Max_Vector(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.MaxMagnitude_Vector(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Single>.Divide_Scalar(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Perf_SingleCharFrozenDictionary

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
57.26 μs 38.81 μs 0.68 0.36 False
604.70 ns 392.87 ns 0.65 0.43 False
157.92 μs 141.99 μs 0.90 0.13 False
369.21 μs 304.27 μs 0.82 0.45 False
16.12 μs 13.32 μs 0.83 0.17 False
502.26 μs 395.43 μs 0.79 0.37 False
34.00 μs 30.44 μs 0.90 0.39 False
2.88 μs 2.33 μs 0.81 0.13 False
3.66 μs 2.75 μs 0.75 0.48 False
5.54 μs 3.82 μs 0.69 0.45 False
1.53 ms 1.33 ms 0.87 0.12 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Perf_SingleCharFrozenDictionary*'
### System.Collections.Perf_SingleCharFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_SingleCharFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_SingleCharFrozenDictionary.ToFrozenDictionary(Count: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_SingleCharFrozenDictionary.TryGetValue_False_FrozenDictionary(Count: 10000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_SingleCharFrozenDictionary.ToFrozenDictionary(Count: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_SingleCharFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 10000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_SingleCharFrozenDictionary.TryGetValue_False_FrozenDictionary(Count: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_SingleCharFrozenDictionary.ToFrozenDictionary(Count: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_SingleCharFrozenDictionary.TryGetValue_False_FrozenDictionary(Count: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_SingleCharFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_SingleCharFrozenDictionary.ToFrozenDictionary(Count: 10000) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in XmlDocumentTests.XmlDocumentTests.Perf_XmlDocument

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
9.48 μs 8.53 μs 0.90 0.06 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'XmlDocumentTests.XmlDocumentTests.Perf_XmlDocument*'
### XmlDocumentTests.XmlDocumentTests.Perf_XmlDocument.LoadXml #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 7ce5d0fdf728bb2ae213541b17c2e489d2b06d09
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
272.15 ns 252.11 ns 0.93 0.05 False
365.16 ns 300.58 ns 0.82 0.16 False
63.53 ns 53.74 ns 0.85 0.29 False
87.67 ns 73.05 ns 0.83 0.26 False
70.85 ns 56.41 ns 0.80 0.35 False
4.44 μs 3.85 μs 0.87 0.19 False
75.43 ns 62.51 ns 0.83 0.34 False
348.86 ns 299.62 ns 0.86 0.19 False
6.55 μs 6.08 μs 0.93 0.14 False
68.63 ns 52.74 ns 0.77 0.27 False
51.30 ns 36.63 ns 0.71 0.46 False
63.64 ns 54.94 ns 0.86 0.41 False
42.35 ns 33.59 ns 0.79 0.36 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives&lt;Int32&gt;*'
### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>.SumOfSquares(BufferLength: 3079) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>.BitwiseAnd_Scalar(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>.Max_Vector(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>.AddMultiply_Vectors(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>.AddMultiply_ScalarMultiplier(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>.Negate(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>.AddMultiply_ScalarAddend(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>.Add_Scalar(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>.Abs(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>.Add_Vector(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>.SumOfSquares(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>.BitwiseAnd_Vector(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>.Max(BufferLength: 128) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.MathBenchmarks.Double

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
55.29 μs 46.45 μs 0.84 0.07 False
99.70 μs 92.05 μs 0.92 0.08 False
77.09 μs 72.05 μs 0.93 0.04 False
82.82 μs 78.46 μs 0.95 0.08 False
22.81 μs 19.14 μs 0.84 0.07 False
51.71 μs 47.19 μs 0.91 0.06 False
71.32 μs 64.56 μs 0.91 0.01 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.MathBenchmarks.Double*'
### System.MathBenchmarks.Double.SinPi #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Double.SinCosPi #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Double.TanPi #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Double.Tan #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Double.Round #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Double.CosPi #### ETL Files #### Histogram #### JIT Disasms ### System.MathBenchmarks.Double.Cbrt #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3ffa05f77509cd4c5eb1452ff49c0254a8bed905
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
71.84 ns 49.53 ns 0.69 0.49 False
26.89 ns 11.59 ns 0.43 0.70 False
22.29 ns 14.38 ns 0.65 0.66 False
17.29 ns 13.62 ns 0.79 0.64 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128Of&lt;Int32&gt;*'
### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.GetHashCodeBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.SquareRootBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.DivideBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.DivisionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Memory.Span<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
18.87 ns 12.77 ns 0.68 0.65 False
22.54 ns 15.54 ns 0.69 0.59 False
24.35 ns 15.67 ns 0.64 0.60 False
23.57 ns 15.83 ns 0.67 0.62 False
3.56 ns 2.51 ns 0.71 0.29 False
87.48 ns 74.85 ns 0.86 0.27 False
60.20 ns 52.03 ns 0.86 0.37 False
13.40 ns 9.83 ns 0.73 0.61 False
22.97 ns 18.10 ns 0.79 0.59 False
57.82 ns 44.46 ns 0.77 0.35 False
23.59 ns 14.57 ns 0.62 0.52 False
19.61 ns 14.76 ns 0.75 0.60 False
11.24 ns 7.06 ns 0.63 0.67 False
26.06 ns 19.53 ns 0.75 0.56 False
29.51 ns 15.48 ns 0.52 0.52 False
24.69 ns 19.03 ns 0.77 0.60 False
19.53 ns 14.11 ns 0.72 0.57 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span&lt;Int32&gt;*'
### System.Memory.Span<Int32>.LastIndexOfValue(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.SequenceCompareToDifferent(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.SequenceEqual(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.Fill(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.GetPinnableReference(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.Reverse(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.LastIndexOfValue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.BinarySearch(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.Reverse(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.SequenceCompareTo(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.SequenceCompareToDifferent(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.LastIndexOfAnyValues(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.LastIndexOfAnyValues(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.SequenceCompareTo(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.SequenceCompareToDifferent(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.Fill(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.LastIndexOfValue(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
4.15 μs 3.51 μs 0.85 0.11 False
3.98 μs 3.42 μs 0.86 0.12 False
2.97 μs 2.46 μs 0.83 0.12 False
3.34 μs 2.95 μs 0.88 0.14 False
3.26 μs 2.80 μs 0.86 0.14 False
3.08 μs 2.58 μs 0.84 0.13 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;ClassRecord&gt;*'
### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromReader(Mode: Reflection) #### 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>.DeserializeFromUtf8Bytes(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<ClassRecord>.DeserializeFromString(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: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 2ecc177a5fcfa5a1f7c9ab60125ade171fb4d750
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.TryAddDefaultSize<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
107.59 μs 92.88 μs 0.86 0.17 False
35.80 μs 32.26 μs 0.90 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryAddDefaultSize&lt;Int32&gt;*'
### System.Collections.TryAddDefaultSize<Int32>.ConcurrentDictionary(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryAddDefaultSize<Int32>.Dictionary(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 2ecc177a5fcfa5a1f7c9ab60125ade171fb4d750
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in Benchmark.GetChildKeysTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.20 ms 1.03 ms 0.86 0.12 False
1.24 ms 1.04 ms 0.84 0.13 False
2.26 ms 1.91 ms 0.85 0.12 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Benchmark.GetChildKeysTests*'
### Benchmark.GetChildKeysTests.AddChainedConfigurationWithCommonPaths #### ETL Files #### Histogram #### JIT Disasms ### Benchmark.GetChildKeysTests.AddChainedConfigurationWithSplitting #### ETL Files #### Histogram #### JIT Disasms ### Benchmark.GetChildKeysTests.AddChainedConfigurationNoDelimiter #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3de068c2be232960f4cb3b233dd2b4014e2ce7c3
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_Type

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.97 μs 2.66 μs 0.90 0.06 False
1.18 μs 1.03 μs 0.87 0.15 False
2.60 μs 2.36 μs 0.91 0.05 False
3.17 μs 2.91 μs 0.92 0.05 False
3.09 μs 2.87 μs 0.93 0.11 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Type*'
### System.Tests.Perf_Type.GetType_FullyQualifiedNames(input: typeof(System.Int32&)) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Type.GetType_Resolvers(input: typeof(int)) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Type.GetType_NonFullyQualifiedNames(input: "System.Int32&") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Type.GetType_FullyQualifiedNames(input: typeof(System.Int32[*])) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Type.GetType_FullyQualifiedNames(input: typeof(System.Int32[,])) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
318.66 μs 238.06 μs 0.75 0.35 False
2.91 μs 2.10 μs 0.72 0.44 False
1.92 μs 1.46 μs 0.76 0.30 False
16.86 μs 13.87 μs 0.82 0.30 False
1.08 μs 881.17 ns 0.82 0.37 False
19.91 μs 15.21 μs 0.76 0.35 False
276.40 ns 212.46 ns 0.77 0.31 False
27.61 μs 18.63 μs 0.67 0.50 False
799.92 μs 546.44 μs 0.68 0.29 False
51.03 μs 39.89 μs 0.78 0.38 False
697.25 ns 596.60 ns 0.86 0.45 False
3.67 μs 2.51 μs 0.69 0.45 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Perf_PriorityQueue&lt;Int32, Int32&gt;*'
### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.HeapSort(Size: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.Dequeue_And_Enqueue(Size: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.Enumerate(Size: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.Enumerate(Size: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.HeapSort(Size: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.HeapSort(Size: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.Enumerate(Size: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.K_Max_Elements(Size: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.Dequeue_And_Enqueue(Size: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.Dequeue_And_Enqueue(Size: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.K_Max_Elements(Size: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.K_Max_Elements(Size: 100) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.CtorFromCollection<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.60 ms 1.31 ms 0.82 0.11 False
47.61 μs 39.53 μs 0.83 0.25 False
1.69 ms 1.46 ms 0.86 0.09 False
1.62 ms 1.32 ms 0.82 0.13 False
20.93 μs 16.24 μs 0.78 0.27 False
132.45 μs 119.88 μs 0.91 0.09 False
23.44 μs 18.84 μs 0.80 0.26 False
802.56 μs 721.43 μs 0.90 0.18 False
38.86 μs 36.55 μs 0.94 0.20 False
42.89 μs 33.42 μs 0.78 0.30 False
163.60 μs 148.29 μs 0.91 0.12 False
9.74 μs 8.64 μs 0.89 0.33 False
1.41 ms 1.20 ms 0.85 0.12 False
22.05 μs 16.89 μs 0.77 0.21 False
112.65 μs 97.58 μs 0.87 0.22 False
757.59 μs 657.28 μs 0.87 0.13 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorFromCollection&lt;String&gt;*'
### System.Collections.CtorFromCollection<String>.ImmutableDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<String>.ImmutableList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<String>.ImmutableSortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<String>.ImmutableHashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<String>.ConcurrentQueue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<String>.FrozenDictionaryOptimized(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<String>.ImmutableStack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<String>.SortedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<String>.ConcurrentBag(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<String>.HashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<String>.FrozenSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<String>.ImmutableQueue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<String>.SortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<String>.ConcurrentStack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<String>.SortedDictionaryDeepCopy(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorFromCollection<String>.SortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements 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
118.20 μs 97.67 μs 0.83 0.13 False
135.17 μs 109.25 μs 0.81 0.14 False
135.91 μs 119.88 μs 0.88 0.11 False
137.86 μs 116.93 μs 0.85 0.10 False
108.48 μs 90.48 μs 0.83 0.14 False
110.53 μs 88.19 μs 0.80 0.15 False
138.42 μs 111.77 μs 0.81 0.13 False
115.82 μs 95.67 μs 0.83 0.15 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;ImmutableDictionary&lt;String, String&gt;&gt;*'
### System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeObjectProperty(Mode: SourceGen) #### 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>>.SerializeObjectProperty(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: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeToWriter(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeToUtf8Bytes(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<ImmutableDictionary<String, String>>.SerializeToString(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
69.31 μs 58.21 μs 0.84 0.12 False
75.28 μs 64.68 μs 0.86 0.10 False
72.62 μs 62.88 μs 0.87 0.11 False
66.29 μs 58.48 μs 0.88 0.13 False
66.50 μs 57.53 μs 0.87 0.12 False
65.26 μs 57.56 μs 0.88 0.07 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;ArrayList&gt;*'
### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromString(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromReader(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromReader(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromString(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromUtf8Bytes(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<ArrayList>.DeserializeFromUtf8Bytes(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
50.37 μs 46.03 μs 0.91 0.11 False
51.70 μs 43.26 μs 0.84 0.14 False
59.04 μs 51.60 μs 0.87 0.11 False
51.25 μs 45.12 μs 0.88 0.08 False
49.89 μs 43.75 μs 0.88 0.11 False
58.14 μs 49.38 μs 0.85 0.10 False
55.80 μs 49.48 μs 0.89 0.11 False
57.78 μs 50.28 μs 0.87 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;TreeRecord&gt;*'
### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeObjectProperty(Mode: SourceGen) #### 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>.SerializeToString(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToString(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToWriter(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToUtf8Bytes(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeToWriter(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<TreeRecord>.SerializeObjectProperty(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Threading.Tests.Perf_Thread

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
15.07 ns 10.51 ns 0.70 0.65 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Threading.Tests.Perf_Thread*'
### System.Threading.Tests.Perf_Thread.CurrentThread #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
578.77 ns 485.39 ns 0.84 0.25 False
244.94 ns 192.97 ns 0.79 0.29 False
568.41 ns 509.82 ns 0.90 0.12 False
388.55 ns 303.11 ns 0.78 0.19 False
635.34 ns 568.28 ns 0.89 0.18 False
1.01 μs 856.49 ns 0.84 0.18 False
374.66 ns 317.41 ns 0.85 0.19 False
610.61 ns 509.14 ns 0.83 0.12 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark*'
### Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.Factory_3Injected #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.Factory_3Explicit #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.CreateInstance_1_WithAttrLast #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.Factory_1Injected_2Explicit_OutOfOrder #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.CreateInstance_1 #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.CreateInstance_3 #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.Factory_1Injected_2Explicit #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.CreateInstance_1_WithAttrFirst #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3de068c2be232960f4cb3b233dd2b4014e2ce7c3
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.TryGetValueFalse<Int32, Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
25.05 μs 20.27 μs 0.81 0.32 False
18.28 μs 14.57 μs 0.80 0.43 False
16.93 μs 10.69 μs 0.63 0.44 False
173.97 μs 119.69 μs 0.69 0.36 False
114.91 μs 95.29 μs 0.83 0.18 False
370.26 μs 308.32 μs 0.83 0.25 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueFalse&lt;Int32, Int32&gt;*'
### System.Collections.TryGetValueFalse<Int32, Int32>.IDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueFalse<Int32, Int32>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueFalse<Int32, Int32>.FrozenDictionaryOptimized(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueFalse<Int32, Int32>.ImmutableSortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueFalse<Int32, Int32>.ImmutableDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueFalse<Int32, Int32>.SortedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 2ecc177a5fcfa5a1f7c9ab60125ade171fb4d750
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_ToStream<Location>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
4.80 μs 4.37 μs 0.91 0.23 False
11.72 μs 10.49 μs 0.89 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_ToStream&lt;Location&gt;*'
### MicroBenchmarks.Serializers.Xml_ToStream<Location>.DataContractSerializer_BinaryXml_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Xml_ToStream<Location>.XmlSerializer_ #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
70.18 μs 60.40 μs 0.86 0.13 False
180.40 ns 134.77 ns 0.75 0.45 False
482.79 ns 392.67 ns 0.81 0.21 False
71.27 μs 61.62 μs 0.86 0.19 False
163.81 ns 136.42 ns 0.83 0.37 False
89.59 μs 81.00 μs 0.90 0.15 False
69.28 μs 60.81 μs 0.88 0.14 False
189.21 ns 141.81 ns 0.75 0.40 False
58.27 ns 52.78 ns 0.91 0.38 False
72.44 μs 62.71 μs 0.87 0.18 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests*'
### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.AddThenRemove_SlidingExpiration #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.GetHit #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.SetOverride #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.AddThenRemove_AbsoluteExpiration #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.TryGetValueHit #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.AddThenRemove_ExpirationTokens #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.AddThenRemove_NoExpiration #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.GetMiss #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.CreateEntry #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Caching.Memory.Tests.MemoryCacheTests.AddThenRemove_RelativeExpiration #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in StoreBlock.AnyLocation

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
15.77 ns 13.92 ns 0.88 0.18 False
7.06 ns 5.49 ns 0.78 0.07 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'StoreBlock.AnyLocation*'
### StoreBlock.AnyLocation.InitBlockAllZeros128 #### ETL Files #### Histogram #### JIT Disasms ### StoreBlock.AnyLocation.InitBlockAllOnes8 #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 2ecc177a5fcfa5a1f7c9ab60125ade171fb4d750
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.ContainsKeyTrue<Int32, Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
23.47 μs 20.93 μs 0.89 0.32 False
16.63 μs 11.49 μs 0.69 0.44 False
22.88 μs 17.69 μs 0.77 0.45 False
128.94 μs 111.44 μs 0.86 0.21 False
347.34 μs 297.87 μs 0.86 0.23 False
140.27 μs 101.58 μs 0.72 0.29 False
31.29 μs 22.89 μs 0.73 0.29 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsKeyTrue&lt;Int32, Int32&gt;*'
### System.Collections.ContainsKeyTrue<Int32, Int32>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsKeyTrue<Int32, Int32>.FrozenDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsKeyTrue<Int32, Int32>.ConcurrentDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsKeyTrue<Int32, Int32>.ImmutableDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsKeyTrue<Int32, Int32>.SortedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsKeyTrue<Int32, Int32>.ImmutableSortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsKeyTrue<Int32, Int32>.IDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Perf_DefaultFrozenDictionary

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
64.25 μs 56.33 μs 0.88 0.26 False
29.27 μs 26.69 μs 0.91 0.10 False
530.44 ns 393.78 ns 0.74 0.43 False
677.30 μs 599.94 μs 0.89 0.23 False
5.50 μs 4.08 μs 0.74 0.28 False
2.98 μs 2.38 μs 0.80 0.17 False
184.63 μs 157.77 μs 0.85 0.14 False
8.49 μs 6.13 μs 0.72 0.33 False
2.15 ms 1.87 ms 0.87 0.12 False
402.10 ns 303.88 ns 0.76 0.47 False
82.43 μs 69.05 μs 0.84 0.27 False
909.53 μs 844.05 μs 0.93 0.17 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Perf_DefaultFrozenDictionary*'
### System.Collections.Perf_DefaultFrozenDictionary.TryGetValue_False_FrozenDictionary(Count: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_DefaultFrozenDictionary.ToFrozenDictionary(Count: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_DefaultFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_DefaultFrozenDictionary.TryGetValue_False_FrozenDictionary(Count: 10000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_DefaultFrozenDictionary.TryGetValue_False_FrozenDictionary(Count: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_DefaultFrozenDictionary.ToFrozenDictionary(Count: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_DefaultFrozenDictionary.ToFrozenDictionary(Count: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_DefaultFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_DefaultFrozenDictionary.ToFrozenDictionary(Count: 10000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_DefaultFrozenDictionary.TryGetValue_False_FrozenDictionary(Count: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_DefaultFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 1000) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_DefaultFrozenDictionary.TryGetValue_True_FrozenDictionary(Count: 10000) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_Environment

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
170.34 ns 136.65 ns 0.80 0.20 False
137.44 ns 114.11 ns 0.83 0.28 False
319.94 ns 273.19 ns 0.85 0.18 False
342.73 ns 323.24 ns 0.94 0.09 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Environment*'
### System.Tests.Perf_Environment.SetEnvironmentVariable #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Environment.GetEnvironmentVariable #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Environment.GetFolderPath(folder: System, option: None) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Environment.ExpandEnvironmentVariables #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 073e35e7e32624e0f841d94364d2f28c73662ff7
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Tests.Perf_Byte

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
61.46 ns 47.95 ns 0.78 0.48 False
77.93 ns 62.95 ns 0.81 0.38 False
23.72 ns 14.12 ns 0.60 0.64 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Tests.Perf_Byte*'
### System.Tests.Perf_Byte.Parse(value: "0") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Byte.ToString(value: 255) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Byte.ToString(value: 0) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Xml.Linq.Perf_XDocument

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
192.16 ns 170.67 ns 0.89 0.32 False
8.78 μs 7.99 μs 0.91 0.05 False
128.25 ns 113.74 ns 0.89 0.26 False
35.26 ns 29.35 ns 0.83 0.60 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Xml.Linq.Perf_XDocument*'
### System.Xml.Linq.Perf_XDocument.GetElement #### ETL Files #### Histogram #### JIT Disasms ### System.Xml.Linq.Perf_XDocument.Parse #### ETL Files #### Histogram #### JIT Disasms ### System.Xml.Linq.Perf_XDocument.CreateWithRootlEement #### ETL Files #### Histogram #### JIT Disasms ### System.Xml.Linq.Perf_XDocument.GetRootElement #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3ffa05f77509cd4c5eb1452ff49c0254a8bed905
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.IO.Tests.StringReaderReadToEndTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
103.79 ns 81.81 ns 0.79 0.26 False
104.77 ns 83.64 ns 0.80 0.25 False
99.76 ns 83.05 ns 0.83 0.25 False
98.98 ns 86.28 ns 0.87 0.26 False
105.66 ns 80.34 ns 0.76 0.30 False
104.27 ns 82.65 ns 0.79 0.28 False
104.39 ns 82.64 ns 0.79 0.32 False
99.64 ns 84.65 ns 0.85 0.28 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.StringReaderReadToEndTests*'
### System.IO.Tests.StringReaderReadToEndTests.ReadToEnd(LineLengthRange: [ 1, 1]) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.StringReaderReadToEndTests.ReadToEnd(LineLengthRange: [ 33, 128]) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.StringReaderReadToEndTests.ReadToEnd(LineLengthRange: [ 1, 8]) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.StringReaderReadToEndTests.ReadToEnd(LineLengthRange: [ 0, 0]) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.StringReaderReadToEndTests.ReadToEnd(LineLengthRange: [ 9, 32]) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.StringReaderReadToEndTests.ReadToEnd(LineLengthRange: [ 0, 1024]) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.StringReaderReadToEndTests.ReadToEnd(LineLengthRange: [1025, 2048]) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.StringReaderReadToEndTests.ReadToEnd(LineLengthRange: [ 129, 1024]) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Threading.Tests.Perf_Lock

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
69.52 ns 55.04 ns 0.79 0.46 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Threading.Tests.Perf_Lock*'
### System.Threading.Tests.Perf_Lock.ReaderWriterLockSlimPerf #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline dc982632aa2b15123ba5d7ff76589cd6c8e660ba
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.IO.Tests.BinaryReaderTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
216.19 ns 172.40 ns 0.80 0.31 False
172.03 ns 138.10 ns 0.80 0.32 False
41.47 ns 30.58 ns 0.74 0.54 False
39.37 ns 32.06 ns 0.81 0.42 False
37.50 ns 31.33 ns 0.84 0.42 False
446.48 ns 359.92 ns 0.81 0.28 False
42.20 ns 30.14 ns 0.71 0.49 False
20.21 ns 12.74 ns 0.63 0.65 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.BinaryReaderTests*'
### System.IO.Tests.BinaryReaderTests.ReadSmallString #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.BinaryReaderTests.ReadAsciiChar #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.BinaryReaderTests.ReadUInt64 #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.BinaryReaderTests.ReadUInt32 #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.BinaryReaderTests.ReadHalf #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.BinaryReaderTests.ReadNonAsciiChar #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.BinaryReaderTests.ReadDouble #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.BinaryReaderTests.ReadBool #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.IO.Tests.Perf_Path

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
97.70 ns 85.11 ns 0.87 0.35 False
130.68 ns 114.05 ns 0.87 0.25 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.IO.Tests.Perf_Path*'
### System.IO.Tests.Perf_Path.GetExtension #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.Perf_Path.GetFileNameWithoutExtension #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
149.49 μs 139.05 μs 0.93 0.03 False
124.51 μs 113.06 μs 0.91 0.10 False
129.51 μs 117.10 μs 0.90 0.06 False
134.30 μs 115.33 μs 0.86 0.06 False
106.42 μs 93.57 μs 0.88 0.07 False
114.41 μs 94.57 μs 0.83 0.07 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;IndexViewModel&gt;*'
### System.Text.Json.Serialization.Tests.ReadJson<IndexViewModel>.DeserializeFromReader(Mode: Reflection) #### 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>.DeserializeFromReader(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### 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>.DeserializeFromString(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_FromString<IndexViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
226.37 μs 210.42 μs 0.93 0.10 False
109.18 μs 96.80 μs 0.89 0.06 False
130.65 μs 113.49 μs 0.87 0.08 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromString&lt;IndexViewModel&gt;*'
### MicroBenchmarks.Serializers.Json_FromString<IndexViewModel>.JsonNet_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Json_FromString<IndexViewModel>.SystemTextJson_SourceGen_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Json_FromString<IndexViewModel>.SystemTextJson_Reflection_ #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 2ecc177a5fcfa5a1f7c9ab60125ade171fb4d750
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.ContainsTrue<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
3.54 ms 2.30 ms 0.65 0.40 False
3.49 ms 2.30 ms 0.66 0.38 False
40.77 μs 32.06 μs 0.79 0.32 False
636.05 μs 522.47 μs 0.82 0.18 False
165.11 μs 126.07 μs 0.76 0.19 False
39.00 μs 34.16 μs 0.88 0.33 False
3.53 ms 2.30 ms 0.65 0.46 False
691.87 μs 528.56 μs 0.76 0.20 False
3.29 ms 2.35 ms 0.71 0.44 False
3.49 ms 2.40 ms 0.69 0.40 False
6.00 ms 4.15 ms 0.69 0.41 False
4.19 ms 2.30 ms 0.55 0.43 False
3.25 ms 2.40 ms 0.74 0.50 False
2.10 ms 1.33 ms 0.63 0.31 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsTrue&lt;String&gt;*'
### System.Collections.ContainsTrue<String>.Array(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrue<String>.Stack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrue<String>.FrozenSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrue<String>.SortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrue<String>.ImmutableHashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrue<String>.HashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrue<String>.ICollection(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrue<String>.ImmutableSortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrue<String>.LinkedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrue<String>.ImmutableArray(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrue<String>.ImmutableList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrue<String>.List(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrue<String>.Queue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsTrue<String>.Span(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 34e65b9e6c3100bbbebcd78fd03f3b2e88cdc9f0
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.81 ms 1.58 ms 0.87 0.09 False
1.80 ms 1.59 ms 0.88 0.06 False
980.49 μs 893.92 μs 0.91 0.07 False
956.25 μs 805.96 μs 0.84 0.12 False
1.04 ms 896.92 μs 0.87 0.08 False
1.70 ms 1.58 ms 0.92 0.06 False
1.65 ms 1.47 ms 0.89 0.07 False
1.04 ms 892.08 μs 0.86 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;MyEventsListerViewModel&gt;*'
### System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToString(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeObjectProperty(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToUtf8Bytes(Mode: SourceGen) #### 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>.SerializeObjectProperty(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.WriteJson<MyEventsListerViewModel>.SerializeToUtf8Bytes(Mode: Reflection) #### 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>.SerializeToString(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 42c2362ca7d6030a4f665bb309fe49ce6552502b
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Tests.Add_Remove_SteadyState<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
47.53 ns 28.77 ns 0.61 0.46 False
52.55 ns 33.06 ns 0.63 0.53 False
127.76 ns 119.53 ns 0.94 0.39 False
46.51 ns 36.45 ns 0.78 0.52 False
149.08 ns 131.54 ns 0.88 0.22 False
42.24 ns 32.03 ns 0.76 0.56 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Tests.Add_Remove_SteadyState&lt;String&gt;*'
### System.Collections.Tests.Add_Remove_SteadyState<String>.ConcurrentStack(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Add_Remove_SteadyState<String>.ConcurrentQueue(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Add_Remove_SteadyState<String>.ConcurrentBag(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Add_Remove_SteadyState<String>.Queue(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Add_Remove_SteadyState<String>.ImmutableQueue(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Tests.Add_Remove_SteadyState<String>.Stack(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 3ffa05f77509cd4c5eb1452ff49c0254a8bed905
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.TryGetValueTrue<String, String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
52.31 μs 40.20 μs 0.77 0.34 False
42.78 μs 35.08 μs 0.82 0.30 False
565.71 μs 491.48 μs 0.87 0.16 False
164.61 μs 132.36 μs 0.80 0.21 False
654.82 μs 570.79 μs 0.87 0.18 False
1.18 ms 961.49 μs 0.82 0.14 False
37.43 μs 31.50 μs 0.84 0.38 False
47.97 μs 37.74 μs 0.79 0.27 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueTrue&lt;String, String&gt;*'
### System.Collections.TryGetValueTrue<String, String>.IDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueTrue<String, String>.FrozenDictionaryOptimized(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueTrue<String, String>.SortedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueTrue<String, String>.ImmutableDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueTrue<String, String>.ImmutableSortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueTrue<String, String>.SortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueTrue<String, String>.ConcurrentDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.TryGetValueTrue<String, String>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 42c2362ca7d6030a4f665bb309fe49ce6552502b
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
3.88 μs 3.31 μs 0.85 0.20 False
4.54 μs 4.05 μs 0.89 0.17 False
4.22 μs 3.91 μs 0.93 0.16 False
3.92 μs 3.38 μs 0.86 0.19 False
3.85 μs 3.30 μs 0.86 0.22 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;SimpleStructWithProperties&gt;*'
### System.Text.Json.Serialization.Tests.ReadJson<SimpleStructWithProperties>.DeserializeFromUtf8Bytes(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>.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>.DeserializeFromString(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 42c2362ca7d6030a4f665bb309fe49ce6552502b
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Diagnostics.Perf_Activity

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
612.06 ns 529.20 ns 0.86 0.14 False
719.65 ns 619.39 ns 0.86 0.14 False
850.15 ns 769.19 ns 0.90 0.10 False
151.61 μs 131.13 μs 0.86 0.17 False
149.97 μs 129.31 μs 0.86 0.18 False
812.94 ns 722.95 ns 0.89 0.10 False
837.77 ns 754.12 ns 0.90 0.13 False
145.95 μs 126.23 μs 0.86 0.18 False
23.30 μs 18.22 μs 0.78 0.36 False
220.18 ns 161.98 ns 0.74 0.28 False
154.84 μs 130.71 μs 0.84 0.14 False
755.27 ns 612.29 ns 0.81 0.15 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Diagnostics.Perf_Activity*'
### System.Diagnostics.Perf_Activity.ActivityAllocations(idFormat: Hierarchical) #### ETL Files #### Histogram #### JIT Disasms ### System.Diagnostics.Perf_Activity.EnumerateActivityTagObjectsSmall #### ETL Files #### Histogram #### JIT Disasms ### System.Diagnostics.Perf_Activity.EnumerateActivityEventsSmall #### ETL Files #### Histogram #### JIT Disasms ### System.Diagnostics.Perf_Activity.EnumerateActivityEventsLarge #### ETL Files #### Histogram #### JIT Disasms ### System.Diagnostics.Perf_Activity.EnumerateActivityLinksLarge #### ETL Files #### Histogram #### JIT Disasms ### System.Diagnostics.Perf_Activity.ActivityAllocations(idFormat: W3C) #### ETL Files #### Histogram #### JIT Disasms ### System.Diagnostics.Perf_Activity.EnumerateActivityLinksSmall #### ETL Files #### Histogram #### JIT Disasms ### System.Diagnostics.Perf_Activity.EnumerateActivityTagObjectsLarge #### ETL Files #### Histogram #### JIT Disasms ### System.Diagnostics.Perf_Activity.EnumerateActivityTagsLarge #### ETL Files #### Histogram #### JIT Disasms ### System.Diagnostics.Perf_Activity.EnumerateActivityTagsSmall #### ETL Files #### Histogram #### JIT Disasms ### System.Diagnostics.Perf_Activity.EnumerateActivityLinkTagsLarge #### ETL Files #### Histogram #### JIT Disasms ### System.Diagnostics.Perf_Activity.EnumerateActivityLinkTagsSmall #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Buffers.Text.Tests.Utf8ParserTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
138.08 ns 122.22 ns 0.89 0.31 False
96.64 ns 76.43 ns 0.79 0.40 False
34.09 ns 26.73 ns 0.78 0.47 False
17.59 ns 15.53 ns 0.88 0.54 False
35.56 ns 21.77 ns 0.61 0.54 False
20.69 ns 15.90 ns 0.77 0.48 False
16.09 ns 9.82 ns 0.61 0.60 False
21.05 ns 16.05 ns 0.76 0.59 False
140.10 ns 117.27 ns 0.84 0.26 False
16.56 ns 10.01 ns 0.60 0.57 False
20.60 ns 15.51 ns 0.75 0.56 False
19.40 ns 14.09 ns 0.73 0.54 False
18.17 ns 14.62 ns 0.80 0.49 False
21.93 ns 15.61 ns 0.71 0.57 False
152.65 ns 136.51 ns 0.89 0.24 False

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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Text.Tests.Utf8ParserTests*'
### System.Buffers.Text.Tests.Utf8ParserTests.TryParseSingle(value: -3.4028235E+38) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8ParserTests.TryParseSingle(value: 12345) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt32(value: 4294967295) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8ParserTests.TryParseInt16(value: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt32Hex(value: FFFFFFFFFFFFFFFF) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8ParserTests.TryParseSByte(value: 127) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8ParserTests.TryParseBool(value: false) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8ParserTests.TryParseInt16(value: 32767) #### 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.TryParseBool(value: True ) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt16(value: 65535) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt32(value: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8ParserTests.TryParseByte(value: 255) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8ParserTests.TryParseUInt16(value: 12345) #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Text.Tests.Utf8ParserTests.TryParseDouble(value: 1.7976931348623157e+308) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Xml.Linq.Perf_XName

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
309.62 ns 257.22 ns 0.83 0.19 False
16.22 ns 9.68 ns 0.60 0.66 False
171.47 ns 140.78 ns 0.82 0.37 False
312.32 ns 242.61 ns 0.78 0.24 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Xml.Linq.Perf_XName*'
### System.Xml.Linq.Perf_XName.CreateElementWithNamespaceImplicitOperator #### ETL Files #### Histogram #### JIT Disasms ### System.Xml.Linq.Perf_XName.EmptyNameSpaceToString #### ETL Files #### Histogram #### JIT Disasms ### System.Xml.Linq.Perf_XName.CreateElement #### ETL Files #### Histogram #### JIT Disasms ### System.Xml.Linq.Perf_XName.CreateElementWithNamespace #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.CreateAddAndRemove<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.33 ms 1.22 ms 0.91 0.11 False
20.88 μs 15.76 μs 0.75 0.34 False
22.59 μs 19.86 μs 0.88 0.27 False
1.34 ms 1.10 ms 0.82 0.13 False
3.04 ms 2.58 ms 0.85 0.08 False
143.97 μs 127.84 μs 0.89 0.04 False
96.10 μs 81.13 μs 0.84 0.13 False
36.73 μs 28.36 μs 0.77 0.34 False
83.64 μs 73.11 μs 0.87 0.21 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CreateAddAndRemove&lt;String&gt;*'
### System.Collections.CreateAddAndRemove<String>.SortedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndRemove<String>.Stack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndRemove<String>.Queue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndRemove<String>.SortedSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndRemove<String>.SortedDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndRemove<String>.List(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndRemove<String>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndRemove<String>.LinkedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CreateAddAndRemove<String>.HashSet(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Serialization.Tests.ReadJson<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
668.08 ns 553.96 ns 0.83 0.27 False
817.85 ns 643.06 ns 0.79 0.27 False
961.01 ns 836.57 ns 0.87 0.18 False
651.99 ns 581.10 ns 0.89 0.25 False
985.61 ns 818.87 ns 0.83 0.19 False
819.29 ns 660.63 ns 0.81 0.22 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Int32&gt;*'
### System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromUtf8Bytes(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromString(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromReader(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromUtf8Bytes(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromReader(Mode: Reflection) #### ETL Files #### Histogram #### JIT Disasms ### System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromString(Mode: SourceGen) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Xml_FromStream<LoginViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
4.45 μs 3.90 μs 0.88 0.20 False
19.24 μs 17.12 μs 0.89 0.11 False
10.69 μs 10.09 μs 0.94 0.06 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Xml_FromStream&lt;LoginViewModel&gt;*'
### MicroBenchmarks.Serializers.Xml_FromStream<LoginViewModel>.DataContractSerializer_BinaryXml_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Xml_FromStream<LoginViewModel>.XmlSerializer_ #### ETL Files #### Histogram #### JIT Disasms ### MicroBenchmarks.Serializers.Xml_FromStream<LoginViewModel>.DataContractSerializer_ #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline dc982632aa2b15123ba5d7ff76589cd6c8e660ba
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Buffers.Binary.Tests.BinaryReadAndWriteTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
107.10 ns 86.68 ns 0.81 0.31 False
96.64 ns 78.85 ns 0.82 0.31 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Buffers.Binary.Tests.BinaryReadAndWriteTests*'
### System.Buffers.Binary.Tests.BinaryReadAndWriteTests.ReadStructFieldByFieldUsingBitConverterBE #### ETL Files #### Histogram #### JIT Disasms ### System.Buffers.Binary.Tests.BinaryReadAndWriteTests.ReadStructFieldByFieldUsingBitConverterLE #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline bdfbed6de953957fd4dbba9c8cba0a3c47dde1f8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in PerfLabTests.BlockCopyPerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
44.95 ns 38.48 ns 0.86 0.43 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'PerfLabTests.BlockCopyPerf*'
### PerfLabTests.BlockCopyPerf.CallBlockCopy(numElements: 10) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.IndexerSet<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
12.62 μs 9.33 μs 0.74 0.35 False
335.00 μs 286.42 μs 0.85 0.24 False
64.59 μs 55.12 μs 0.85 0.24 False
26.02 μs 20.06 μs 0.77 0.27 False
5.95 μs 4.60 μs 0.77 0.26 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IndexerSet&lt;Int32&gt;*'
### System.Collections.IndexerSet<Int32>.IList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IndexerSet<Int32>.SortedList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IndexerSet<Int32>.ConcurrentDictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IndexerSet<Int32>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.IndexerSet<Int32>.List(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 1d622621b6bc254fbd777921c70a3f5d57fbd6b8
Compare 778cc8436260736c1ca5393abb27414ea42ad8a7
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in Microsoft.Extensions.Primitives.StringSegmentBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
24.66 ns 16.31 ns 0.66 0.64 False
23.85 ns 18.30 ns 0.77 0.61 False
49.56 ns 38.23 ns 0.77 0.44 False
35.74 ns 32.41 ns 0.91 0.45 False
103.74 ns 70.24 ns 0.68 0.24 False
27.29 ns 23.22 ns 0.85 0.53 False
23.82 ns 13.94 ns 0.59 0.60 False
22.21 ns 15.84 ns 0.71 0.63 False
28.64 ns 20.15 ns 0.70 0.49 False
29.16 ns 23.30 ns 0.80 0.54 False
21.03 ns 15.01 ns 0.71 0.62 False
30.36 ns 25.32 ns 0.83 0.46 False
28.21 ns 20.06 ns 0.71 0.57 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
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Primitives.StringSegmentBenchmark*'
### Microsoft.Extensions.Primitives.StringSegmentBenchmark.IndexOf #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.StringSegmentBenchmark.SubSegment #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_Object_Valid #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_Valid #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Indexer #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.StringSegmentBenchmark.StartsWith #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Ctor_String #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.StringSegmentBenchmark.IndexOfAny #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.StringSegmentBenchmark.EndsWith #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.StringSegmentBenchmark.GetSegmentHashCode #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.StringSegmentBenchmark.GetValue #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_String #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.StringSegmentBenchmark.LastIndexOf #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)