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: 25 Improvements on 8/22/2023 10:44:27 PM #21098

Open performanceautofiler[bot] opened 1 year ago

performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 4a5695b6ea0e461e6527de057420872369345282
Compare c4f8c3b27a8fb2e452a57a6516050c8c2ee677f4
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Threading.Tests.Perf_CancellationToken

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
104.77 ns 91.54 ns 0.87 0.20 False

graph Test Report

Repro

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

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Threading.Tests.Perf_CancellationToken*'
### Payloads [Baseline]() [Compare]() ### System.Threading.Tests.Perf_CancellationToken.CreateTokenDispose #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 91.53890863790666 < 97.54356292192767. IsChangePoint: Marked as a change because one of 8/22/2023 4:48:44 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 9.98292730434512 (T) = (0 -95.15706375318933) / Math.Sqrt((9.428029433861472 / (24)) + (4.59077626445414 / (24))) is greater than 2.01289559891803 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (24) - 2, .975) and 0.07422848191480878 = (102.7867696232504 - 95.15706375318933) / 102.7867696232504 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### 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 4a5695b6ea0e461e6527de057420872369345282
Compare c4f8c3b27a8fb2e452a57a6516050c8c2ee677f4
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
11.09 μs 9.58 μs 0.86 0.48 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.Collections.IndexerSetReverse&lt;String&gt;*'
### Payloads [Baseline]() [Compare]() ### System.Collections.IndexerSetReverse<String>.IList(Size: 512) #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.583725414600123 < 10.818655883701718. IsChangePoint: Marked as a change because one of 8/22/2023 4:48:44 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 9.960330920274826 (T) = (0 -9917.459581696628) / Math.Sqrt((304478.7735586771 / (25)) + (153688.79184733683 / (23))) is greater than 2.01289559891803 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (25) + (23) - 2, .975) and 0.12121134316209606 = (11285.375049539292 - 9917.459581696628) / 11285.375049539292 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### 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 4a5695b6ea0e461e6527de057420872369345282
Compare c4f8c3b27a8fb2e452a57a6516050c8c2ee677f4
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.Tests.Perf_Dictionary

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
53.71 ms 49.48 ms 0.92 0.42 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.Collections.Tests.Perf_Dictionary*'
### Payloads [Baseline]() [Compare]() ### System.Collections.Tests.Perf_Dictionary.ContainsValue(Items: 3000) #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 49.483642875 < 53.93632001378205. IsChangePoint: Marked as a change because one of 8/22/2023 4:48:44 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 5.4701198365549235 (T) = (0 -50871331.398202844) / Math.Sqrt((23959413437800.64 / (26)) + (6073331679148.903 / (24))) is greater than 2.0106347576230403 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (24) - 2, .975) and 0.10437352871296582 = (56799718.44188534 - 50871331.398202844) / 56799718.44188534 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### 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 4a5695b6ea0e461e6527de057420872369345282
Compare c4f8c3b27a8fb2e452a57a6516050c8c2ee677f4
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
567.60 ns 495.32 ns 0.87 0.33 False
466.85 ns 417.03 ns 0.89 0.35 False
104.77 ns 93.92 ns 0.90 0.52 False
123.55 ns 101.77 ns 0.82 0.42 False
92.07 ns 81.71 ns 0.89 0.25 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.Buffers.Tests.ReadOnlySequenceTests&lt;Byte&gt;*'
### Payloads [Baseline]() [Compare]() ### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.IterateGetPositionMemory #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 495.31524492833336 < 517.4495965243747. IsChangePoint: Marked as a change because one of 8/22/2023 4:48:44 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 5.840053112123968 (T) = (0 -506.3152484498264) / Math.Sqrt((549.1913873550271 / (26)) + (525.2160643397644 / (24))) is greater than 2.0106347576230403 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (24) - 2, .975) and 0.07032281796682122 = (544.614042632012 - 506.3152484498264) / 544.614042632012 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.IterateGetPositionArray #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 417.0328839951569 < 442.81784499881996. IsChangePoint: Marked as a change because one of 8/22/2023 10:44:27 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 8.105661914006488 (T) = (0 -424.74740778644286) / Math.Sqrt((284.52331354012904 / (27)) + (371.18126555120466 / (23))) is greater than 2.0106347576230403 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (27) + (23) - 2, .975) and 0.08972105312777114 = (466.6123601407014 - 424.74740778644286) / 466.6123601407014 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.IterateTryGetSingleSegment #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 93.91685682961206 < 99.94983371416376. IsChangePoint: Marked as a change because one of 8/22/2023 10:50:09 AM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 5.551794902369793 (T) = (0 -96.83935202449722) / Math.Sqrt((29.874415024139694 / (25)) + (30.476760669816795 / (25))) is greater than 2.0106347576230403 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (25) + (25) - 2, .975) and 0.0817893449925218 = (105.46528892513072 - 96.83935202449722) / 105.46528892513072 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.IterateTryGetArray #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 101.76541418850623 < 101.97338880145928. IsChangePoint: Marked as a change because one of 8/22/2023 4:48:44 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 5.653394992009585 (T) = (0 -99.67005654891013) / Math.Sqrt((22.821340814862616 / (26)) + (40.9335576195262 / (24))) is greater than 2.0106347576230403 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (24) - 2, .975) and 0.08354913722145534 = (108.75657451696333 - 99.67005654891013) / 108.75657451696333 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Byte>.SliceMemory #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 81.71045200444155 < 87.39101410875584. IsChangePoint: Marked as a change because one of 8/22/2023 3:00:25 AM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 9.735960387391923 (T) = (0 -83.87922823295527) / Math.Sqrt((17.14930593077571 / (23)) + (7.453712181851911 / (26))) is greater than 2.0117405137283924 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (23) + (26) - 2, .975) and 0.10549041807034912 = (93.77119030073396 - 83.87922823295527) / 93.77119030073396 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### 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 4a5695b6ea0e461e6527de057420872369345282
Compare c4f8c3b27a8fb2e452a57a6516050c8c2ee677f4
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Collections.ContainsFalse<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
5.66 ms 4.93 ms 0.87 0.46 False
122.88 μs 112.39 μs 0.91 0.18 False
848.28 μs 789.76 μs 0.93 0.15 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.ContainsFalse&lt;String&gt;*'
### Payloads [Baseline]() [Compare]() ### System.Collections.ContainsFalse<String>.Stack(Size: 512) #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.933116073660715 < 5.511421103173076. IsChangePoint: Marked as a change because one of 8/22/2023 4:48:44 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 5.732587335532496 (T) = (0 -5139907.443681478) / Math.Sqrt((340476906073.0508 / (24)) + (34529851522.427414 / (24))) is greater than 2.01289559891803 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (24) + (24) - 2, .975) and 0.12235659953513363 = (5856487.317011663 - 5139907.443681478) / 5856487.317011663 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### JIT Disasms ### System.Collections.ContainsFalse<String>.ImmutableHashSet(Size: 512) #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 112.39499412470026 < 117.02565628045593. IsChangePoint: Marked as a change because one of 8/22/2023 10:44:27 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 9.011506479518605 (T) = (0 -115779.9894449861) / Math.Sqrt((18025952.91628865 / (26)) + (14478753.559218096 / (23))) is greater than 2.0117405137283924 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (23) - 2, .975) and 0.08216352698275452 = (126144.46347329965 - 115779.9894449861) / 126144.46347329965 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### JIT Disasms ### System.Collections.ContainsFalse<String>.ImmutableSortedSet(Size: 512) #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 789.7572144230769 < 810.9875479166667. IsChangePoint: Marked as a change because one of 8/22/2023 10:44:27 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 8.931552288860509 (T) = (0 -787301.2474635185) / Math.Sqrt((752784367.734827 / (27)) + (215623075.77894372 / (23))) is greater than 2.0106347576230403 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (27) + (23) - 2, .975) and 0.06475990172082051 = (841817.2498293592 - 787301.2474635185) / 841817.2498293592 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### 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 4a5695b6ea0e461e6527de057420872369345282
Compare c4f8c3b27a8fb2e452a57a6516050c8c2ee677f4
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in System.Text.Json.Tests.Perf_Base64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
352.00 ns 325.48 ns 0.92 0.04 False
346.36 ns 315.61 ns 0.91 0.15 False
1.17 μs 1.09 μs 0.93 0.18 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.Text.Json.Tests.Perf_Base64*'
### Payloads [Baseline]() [Compare]() ### System.Text.Json.Tests.Perf_Base64.WriteByteArrayAsBase64_NoEscaping(NumberOfBytes: 100) #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 325.4759780301882 < 332.3894026465022. IsChangePoint: Marked as a change because one of 8/22/2023 4:48:44 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 12.068485799958568 (T) = (0 -323.6007496964326) / Math.Sqrt((49.493499749154076 / (25)) + (38.16497384804838 / (24))) is greater than 2.0117405137283924 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (25) + (24) - 2, .975) and 0.06582663342286639 = (346.4033136398706 - 323.6007496964326) / 346.4033136398706 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### JIT Disasms ### System.Text.Json.Tests.Perf_Base64.WriteByteArrayAsBase64_HeavyEscaping(NumberOfBytes: 100) #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 315.6088530316736 < 325.3718900327404. IsChangePoint: Marked as a change because one of 8/24/2023 11:06:19 AM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 10.244897156352087 (T) = (0 -321.3904036144574) / Math.Sqrt((109.7132987447346 / (29)) + (22.502103500070056 / (21))) is greater than 2.0106347576230403 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (21) - 2, .975) and 0.06562639004685805 = (343.9634854740545 - 321.3904036144574) / 343.9634854740545 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### JIT Disasms ### System.Text.Json.Tests.Perf_Base64.WriteByteArrayAsBase64_HeavyEscaping(NumberOfBytes: 1000) #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0892243997746955 < 1.1175901792188236. IsChangePoint: Marked as a change because one of 8/22/2023 10:44:27 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 10.655077436498745 (T) = (0 -1081.8444374472567) / Math.Sqrt((1208.5448206398137 / (26)) + (108.84399245171704 / (23))) is greater than 2.0117405137283924 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (23) - 2, .975) and 0.0658429955692722 = (1158.0970140094696 - 1081.8444374472567) / 1158.0970140094696 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### 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 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 4a5695b6ea0e461e6527de057420872369345282
Compare c4f8c3b27a8fb2e452a57a6516050c8c2ee677f4
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
128.96 ns 120.63 ns 0.94 0.39 False
150.10 ns 135.53 ns 0.90 0.38 False
35.18 ns 29.30 ns 0.83 0.52 False
551.50 ns 473.75 ns 0.86 0.53 False
84.83 ns 73.11 ns 0.86 0.58 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.Buffers.Tests.ReadOnlySequenceTests&lt;Char&gt;*'
### Payloads [Baseline]() [Compare]() ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.SliceTenSegments #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 120.63040368293296 < 124.28016094717498. IsChangePoint: Marked as a change because one of 8/22/2023 4:48:44 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 10.702807954723818 (T) = (0 -115.90964330290585) / Math.Sqrt((20.974651249562154 / (25)) + (20.488395218710753 / (24))) is greater than 2.0117405137283924 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (25) + (24) - 2, .975) and 0.10724928685440681 = (129.83427691085234 - 115.90964330290585) / 129.83427691085234 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateTryGetMemory #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 135.5250079851949 < 145.50985957609447. IsChangePoint: Marked as a change because one of 8/22/2023 10:44:27 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 8.849064959444036 (T) = (0 -135.82627361910127) / Math.Sqrt((34.51285086520023 / (26)) + (35.2941563813185 / (22))) is greater than 2.01289559891803 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (22) - 2, .975) and 0.10035610323044766 = (150.97781923139502 - 135.82627361910127) / 150.97781923139502 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstSpanMemory #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 29.302292909701077 < 33.15476729767238. IsChangePoint: Marked as a change because one of 8/24/2023 2:47:53 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 5.646807803663627 (T) = (0 -31.0623828576452) / Math.Sqrt((5.424468502178886 / (30)) + (2.809528537818326 / (20))) is greater than 2.0106347576230403 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (30) + (20) - 2, .975) and 0.09341697625642627 = (34.26314197830288 - 31.0623828576452) / 34.26314197830288 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionMemory #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 473.7464569589165 < 509.1481010180955. IsChangePoint: Marked as a change because one of 8/22/2023 10:44:27 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 9.58861012543 (T) = (0 -484.8006045616073) / Math.Sqrt((654.9699971504998 / (26)) + (201.66255042070188 / (23))) is greater than 2.0117405137283924 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (23) - 2, .975) and 0.10334637394578891 = (540.6776825238608 - 484.8006045616073) / 540.6776825238608 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### JIT Disasms ### System.Buffers.Tests.ReadOnlySequenceTests<Char>.SliceArray #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 73.11102161098385 < 79.52363920882644. IsChangePoint: Marked as a change because one of 8/22/2023 10:44:27 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 6.49831519934359 (T) = (0 -77.78506140895281) / Math.Sqrt((22.78147489998751 / (27)) + (15.353667013365715 / (23))) is greater than 2.0106347576230403 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (27) + (23) - 2, .975) and 0.09313712765076929 = (85.77378540975043 - 77.78506140895281) / 85.77378540975043 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### 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 4a5695b6ea0e461e6527de057420872369345282
Compare c4f8c3b27a8fb2e452a57a6516050c8c2ee677f4
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
400.21 ns 372.69 ns 0.93 0.21 False
170.02 ns 154.78 ns 0.91 0.35 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.Xml.Linq.Perf_XElement*'
### Payloads [Baseline]() [Compare]() ### System.Xml.Linq.Perf_XElement.CreateElementsWithNamespace #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 372.6861513396804 < 379.276356084689. IsChangePoint: Marked as a change because one of 8/22/2023 4:48:44 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 7.371365514259173 (T) = (0 -375.0570343862018) / Math.Sqrt((123.97211404863708 / (26)) + (80.3060384472879 / (24))) is greater than 2.0106347576230403 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (24) - 2, .975) and 0.053017193516244676 = (396.0547454698013 - 375.0570343862018) / 396.0547454698013 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### JIT Disasms ### System.Xml.Linq.Perf_XElement.GetAttribute #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 154.7795066952664 < 157.91303275793643. IsChangePoint: Marked as a change because one of 8/24/2023 11:06:19 AM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 5.639634457234689 (T) = (0 -156.14148688621245) / Math.Sqrt((66.46929838370814 / (29)) + (25.998949463298466 / (20))) is greater than 2.0117405137283924 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (20) - 2, .975) and 0.06406847899675494 = (166.8300333755626 - 156.14148688621245) / 166.8300333755626 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### 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 4a5695b6ea0e461e6527de057420872369345282
Compare c4f8c3b27a8fb2e452a57a6516050c8c2ee677f4
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
43.56 ns 34.33 ns 0.79 0.62 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.Runtime.Intrinsics.Tests.Perf_Vector128Of&lt;Double&gt;*'
### Payloads [Baseline]() [Compare]() ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.GetHashCodeBenchmark #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 34.334639055464216 < 38.99407097375527. IsChangePoint: Marked as a change because one of 8/22/2023 4:48:44 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 5.010534014112801 (T) = (0 -35.758432263319754) / Math.Sqrt((15.160685573855844 / (26)) + (8.192371989606093 / (24))) is greater than 2.0106347576230403 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (26) + (24) - 2, .975) and 0.11872910265823988 = (40.575982222016464 - 35.758432263319754) / 40.575982222016464 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### 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 4a5695b6ea0e461e6527de057420872369345282
Compare c4f8c3b27a8fb2e452a57a6516050c8c2ee677f4
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

Improvements in MicroBenchmarks.Serializers.Json_ToStream<LoginViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
3.66 μs 3.40 μs 0.93 0.18 False

graph Test Report

Repro

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

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_ToStream&lt;LoginViewModel&gt;*'
### Payloads [Baseline]() [Compare]() ### MicroBenchmarks.Serializers.Json_ToStream<LoginViewModel>.DataContractJsonSerializer_ #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.400151829476182 < 3.4803780895581014. IsChangePoint: Marked as a change because one of 8/22/2023 4:48:44 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 8.286524263856903 (T) = (0 -3442.325010705156) / Math.Sqrt((15875.316540779337 / (25)) + (13991.21660604344 / (24))) is greater than 2.0117405137283924 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (25) + (24) - 2, .975) and 0.0775008705957244 = (3731.5211483485236 - 3442.325010705156) / 3731.5211483485236 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### 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 4a5695b6ea0e461e6527de057420872369345282
Compare c4f8c3b27a8fb2e452a57a6516050c8c2ee677f4
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
645.19 μs 599.13 μs 0.93 0.20 False

graph Test Report

Repro

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

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueTrue&lt;String, String&gt;*'
### Payloads [Baseline]() [Compare]() ### System.Collections.TryGetValueTrue<String, String>.ImmutableSortedDictionary(Size: 512) #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 599.1310182098766 < 614.5368908427082. IsChangePoint: Marked as a change because one of 8/22/2023 4:48:44 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 8.047794769604343 (T) = (0 -607016.5000146648) / Math.Sqrt((206071319.7626666 / (20)) + (213713788.3039142 / (24))) is greater than 2.018081702816722 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (20) + (24) - 2, .975) and 0.05491509856585139 = (642287.7977349217 - 607016.5000146648) / 642287.7977349217 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### 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 4a5695b6ea0e461e6527de057420872369345282
Compare c4f8c3b27a8fb2e452a57a6516050c8c2ee677f4
Diff Diff
Configs AOT:true, CompilationMode:wasm, RunKind:micro

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

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.88 μs 1.75 μs 0.93 0.12 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.Text.Json.Serialization.Tests.WriteJson&lt;SimpleStructWithProperties&gt;*'
### Payloads [Baseline]() [Compare]() ### System.Text.Json.Serialization.Tests.WriteJson<SimpleStructWithProperties>.SerializeToString(Mode: Reflection) #### ETL Files #### Histogram #### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.7511485723935027 < 1.7925048470399108. IsChangePoint: Marked as a change because one of 8/22/2023 4:48:44 PM, 8/30/2023 5:40:03 PM falls between 8/22/2023 3:00:25 AM and 8/30/2023 5:40:03 PM. IsImprovementStdDev: Marked as improvement because 8.563730196437238 (T) = (0 -1783.4418519069511) / Math.Sqrt((3484.3097842189964 / (25)) + (1154.8736982464227 / (24))) is greater than 2.0117405137283924 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (25) + (24) - 2, .975) and 0.061693614334498804 = (1900.7030956546575 - 1783.4418519069511) / 1900.7030956546575 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` #### 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)