Closed
Description
Run Information
Architecture | x86 |
---|---|
OS | Windows 10.0.18362 |
Baseline | f6d2d09d6285deb16e1c0b10bde87240073daf19 |
Compare | 347847265d0832def96a2ff4057029999ffc70b1 |
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 |
---|---|---|---|---|---|---|---|---|---|---|
IndexOfAnyFourValues - Duration of single invocation | 31.39 ns | 26.76 ns | 0.85 | 0.13 | False | |||||
IndexOfAnyFiveValues - Duration of single invocation | 38.61 ns | 33.95 ns | 0.88 | 0.18 | False |
Repro
git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Memory.Span<Char>*'
Payloads
Histogram
System.Memory.Span<Char>.IndexOfAnyFourValues(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 26.763860210713435 < 29.5428026977414.
IsChangePoint: Marked as a change because one of 8/13/2022 3:46:07 PM, 8/15/2022 12:02:22 PM falls between 8/5/2022 10:47:59 PM and 8/15/2022 12:02:22 PM.
IsImprovementStdDev: Marked as improvement because 30.836749985550515 (T) = (0 -27.069463718164364) / Math.Sqrt((1.4099162442899895 / (299)) + (0.16836526773283855 / (11))) is greater than 1.9676960046166507 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (11) - 2, .975) and 0.13881387930129355 = (31.432768210665177 - 27.069463718164364) / 31.432768210665177 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Memory.Span<Char>.IndexOfAnyFiveValues(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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 8/13/2022 3:46:07 PM, 8/15/2022 12:02:22 PM falls between 8/5/2022 10:47:59 PM and 8/15/2022 12:02:22 PM.
IsImprovementStdDev: Marked as improvement because 19.558508401909876 (T) = (0 -30.849350601244623) / Math.Sqrt((1.1875570526528425 / (32)) + (1.4957486860098832 / (11))) is greater than 2.019540970439574 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (32) + (11) - 2, .975) and 0.20871608220259133 = (38.9864496262174 - 30.849350601244623) / 38.9864496262174 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