Repository navigation
[Perf] Changes at 6/3/2022 1:48:25 AM #5855
Copy link
Copy link
Closed
Description
Run Information
| Architecture | x64 |
|---|---|
| OS | ubuntu 18.04 |
| Baseline | 6a8f16e54fe2f91ef6457c94cab830f3c31baf9d |
| Compare | 1d6f23a90767789b8c865b726a02fbffcf9d5346 |
| Diff | Diff |
Improvements in System.Memory.Span<Char>
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
|---|---|---|---|---|---|---|---|---|---|---|
| LastIndexOfValue - Duration of single invocation | 14.64 ns | 13.62 ns | 0.93 | 0.14 | False | |||||
| IndexOfAnyTwoValues - Duration of single invocation | 16.68 ns | 11.67 ns | 0.70 | 0.12 | False | |||||
| IndexOfValue - Duration of single invocation | 17.08 ns | 10.63 ns | 0.62 | 0.17 | False |
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.Span<Char>*'Details
Payloads
Histogram
System.Memory.Span<Char>.LastIndexOfValue(Size: 512)
Description of detection logic
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 13.622016641671959 < 13.742979451704576.
IsChangePoint: Marked as a change because one of 4/7/2022 3:14:09 PM, 5/11/2022 7:02:26 PM, 5/15/2022 3:27:46 PM, 6/2/2022 10:27:31 PM, 6/7/2022 5:42:36 AM falls between 5/29/2022 5:15:01 PM and 6/7/2022 5:42:36 AM.
IsImprovementStdDev: Marked as improvement because 18.750691727727112 (T) = (0 -13.052774712813338) / Math.Sqrt((0.5377582115471272 / (299)) + (0.0981293891350923 / (27))) is greater than 1.9673127716992511 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (27) - 2, .975) and 0.09574637391573732 = (14.434860238643951 - 13.052774712813338) / 14.434860238643951 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Memory.Span<Char>.IndexOfAnyTwoValues(Size: 512)
```log
Description of detection logic
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 11.674122155698386 < 15.833958843790347.
IsChangePoint: Marked as a change because one of 5/11/2022 7:02:26 PM, 6/2/2022 5:58:32 PM, 6/7/2022 5:42:36 AM falls between 5/29/2022 5:15:01 PM and 6/7/2022 5:42:36 AM.
IsImprovementStdDev: Marked as improvement because 16.053830365699 (T) = (0 -11.419874393111938) / Math.Sqrt((7.5617379569351515 / (221)) + (0.046044816592467556 / (29))) is greater than 1.969575653625878 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (221) + (29) - 2, .975) and 0.2101105965595786 = (14.457561202076942 - 11.419874393111938) / 14.457561202076942 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Memory.Span<Char>.IndexOfValue(Size: 512)
```log
Description of detection logic
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 10.627278890364874 < 16.217295636263348.
IsChangePoint: Marked as a change because one of 5/11/2022 7:02:26 PM, 6/2/2022 5:58:32 PM, 6/7/2022 5:42:36 AM falls between 5/29/2022 5:15:01 PM and 6/7/2022 5:42:36 AM.
IsImprovementStdDev: Marked as improvement because 13.827240454706484 (T) = (0 -11.339302317172965) / Math.Sqrt((7.850928809158462 / (220)) + (0.10481462091283403 / (29))) is greater than 1.9696147551832122 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (220) + (29) - 2, .975) and 0.194678002727049 = (14.080457699617126 - 11.339302317172965) / 14.080457699617126 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
_1.png)
_2.png)
_3.png)
Activity
AndyAyersMS commentedon Jun 10, 2022
Likely from dotnet/runtime#70144