Open
Description
Run Information
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | f70d8a9663d3d674c453e26d405dc13baa79fd16 |
Compare | 4c25992c7b25c1ab21dc47e8dcba9f491b5fcb80 |
Diff | Diff |
Regressions in System.Collections.ContainsFalse<Int32>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
ImmutableList - Duration of single invocation | 44.52 ms | 50.07 ms | 1.12 | 0.05 | False | |||||
SortedSet - Duration of single invocation | 622.65 μs | 674.99 μs | 1.08 | 0.07 | False | |||||
ImmutableSortedSet - Duration of single invocation | 827.74 μs | 893.49 μs | 1.08 | 0.06 | False | |||||
LinkedList - Duration of single invocation | 27.98 ms | 33.33 ms | 1.19 | 0.05 | False |
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsFalse<Int32>*'
Payloads
Histogram
System.Collections.ContainsFalse<Int32>.ImmutableList(Size: 512)
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 50.072538442307696 > 47.08204081583334.
IsChangePoint: Marked as a change because one of 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -19.560573979402264 (T) = (0 -50343736.79809124) / Math.Sqrt((1054678442820.3978 / (29)) + (1048003617175.7091 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.11377015710181639 = (45201190.27887458 - 50343736.79809124) / 45201190.27887458 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Collections.ContainsFalse<Int32>.SortedSet(Size: 512)
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 674.9908859747025 > 654.682306175.
IsChangePoint: Marked as a change because one of 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -13.258362811517882 (T) = (0 -676666.5838976173) / Math.Sqrt((285919041.0273229 / (29)) + (78795918.97171909 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.07385780139094102 = (630126.8035871678 - 676666.5838976173) / 630126.8035871678 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Collections.ContainsFalse<Int32>.ImmutableSortedSet(Size: 512)
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 893.4863608630951 > 870.490178582996.
IsChangePoint: Marked as a change because one of 12/9/2022 1:52:32 PM, 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -14.320945430167825 (T) = (0 -899792.0947261108) / Math.Sqrt((211506859.7459526 / (29)) + (357964331.8439371 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.07344406241391402 = (838229.1413515277 - 899792.0947261108) / 838229.1413515277 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Collections.ContainsFalse<Int32>.LinkedList(Size: 512)
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 33.32608568571429 > 29.46462736463675.
IsChangePoint: Marked as a change because one of 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -34.487731545476066 (T) = (0 -32234575.169746693) / Math.Sqrt((153684958498.49475 / (28)) + (247336356285.17484 / (32))) is less than -2.001717484144427 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (28) + (32) - 2, .025) and -0.14025844074155863 = (28269534.359932628 - 32234575.169746693) / 28269534.359932628 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | f70d8a9663d3d674c453e26d405dc13baa79fd16 |
Compare | 4c25992c7b25c1ab21dc47e8dcba9f491b5fcb80 |
Diff | Diff |
Regressions in Microsoft.Extensions.DependencyInjection.TimeToFirstService
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
Scoped - Duration of single invocation | 69.81 μs | 73.90 μs | 1.06 | 0.02 | False | |||||
Singleton - Duration of single invocation | 61.32 μs | 64.76 μs | 1.06 | 0.02 | False | |||||
Scoped - Duration of single invocation | 69.54 μs | 73.77 μs | 1.06 | 0.02 | False | |||||
Scoped - Duration of single invocation | 68.71 μs | 74.76 μs | 1.09 | 0.01 | False | |||||
Singleton - Duration of single invocation | 61.73 μs | 66.00 μs | 1.07 | 0.02 | False | |||||
Singleton - Duration of single invocation | 61.42 μs | 65.76 μs | 1.07 | 0.01 | False | |||||
Scoped - Duration of single invocation | 69.63 μs | 74.77 μs | 1.07 | 0.02 | False | |||||
Transient - Duration of single invocation | 59.94 μs | 64.40 μs | 1.07 | 0.01 | False |
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.TimeToFirstService*'
Payloads
Histogram
Microsoft.Extensions.DependencyInjection.TimeToFirstService.Scoped(Mode: "Dynamic")
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 73.90090648924534 > 72.4321065195253.
IsChangePoint: Marked as a change because one of 12/9/2022 1:45:57 AM, 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -26.9361342154968 (T) = (0 -74892.46160587772) / Math.Sqrt((241919.8955966163 / (29)) + (1335594.8534498746 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.08753242371123075 = (68864.57817074122 - 74892.46160587772) / 68864.57817074122 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### Microsoft.Extensions.DependencyInjection.TimeToFirstService.Singleton(Mode: "Dynamic")
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 64.76011518595041 > 64.2655011507353.
IsChangePoint: Marked as a change because one of 12/9/2022 8:25:19 AM, 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -21.121073217748314 (T) = (0 -65443.583745574135) / Math.Sqrt((413761.3154210043 / (29)) + (840014.1432163256 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.06947763206701192 = (61192.10143655771 - 65443.583745574135) / 61192.10143655771 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### Microsoft.Extensions.DependencyInjection.TimeToFirstService.Scoped(Mode: "Runtime")
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 73.77331466194968 > 72.9414033722345.
IsChangePoint: Marked as a change because one of 12/9/2022 8:25:19 AM, 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -30.946103964377787 (T) = (0 -74748.13274604347) / Math.Sqrt((466940.4547200627 / (29)) + (619481.4631328171 / (31))) is less than -2.001717484144427 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (31) - 2, .025) and -0.08535709765128582 = (68869.6217197073 - 74748.13274604347) / 68869.6217197073 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### Microsoft.Extensions.DependencyInjection.TimeToFirstService.Scoped(Mode: "ILEmit")
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 74.7636064344099 > 72.53019250570458.
IsChangePoint: Marked as a change because one of 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -33.13934417710488 (T) = (0 -75041.45137619032) / Math.Sqrt((391231.5708872438 / (28)) + (690280.4379706748 / (32))) is less than -2.001717484144427 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (28) + (32) - 2, .025) and -0.09081916238662122 = (68793.66806502179 - 75041.45137619032) / 68793.66806502179 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### Microsoft.Extensions.DependencyInjection.TimeToFirstService.Singleton(Mode: "Runtime")
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 66.00336262746133 > 64.22534268072313.
IsChangePoint: Marked as a change because one of 12/9/2022 1:52:32 PM, 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -27.484664571677396 (T) = (0 -65720.94322068138) / Math.Sqrt((339067.9072452039 / (29)) + (541527.6805782609 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.07612819665103532 = (61071.66732105732 - 65720.94322068138) / 61071.66732105732 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### Microsoft.Extensions.DependencyInjection.TimeToFirstService.Singleton(Mode: "Expressions")
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 65.76103560126583 > 64.3680111752451.
IsChangePoint: Marked as a change because one of 12/9/2022 9:29:01 AM, 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -24.155271216891418 (T) = (0 -65726.88609635168) / Math.Sqrt((472513.10852095083 / (29)) + (643864.2560031534 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.07541934724245604 = (61117.44805864403 - 65726.88609635168) / 61117.44805864403 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### Microsoft.Extensions.DependencyInjection.TimeToFirstService.Scoped(Mode: "Expressions")
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 74.7688396879984 > 72.63514985626529.
IsChangePoint: Marked as a change because one of 12/9/2022 9:29:01 AM, 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -31.773789271300405 (T) = (0 -74654.79624124143) / Math.Sqrt((471696.1229750539 / (29)) + (471837.09832626075 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.08102115365932692 = (69059.51468991156 - 74654.79624124143) / 69059.51468991156 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### Microsoft.Extensions.DependencyInjection.TimeToFirstService.Transient(Mode: "ILEmit")
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 64.40435603908404 > 62.84141333914171.
IsChangePoint: Marked as a change because one of 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -25.976608341424523 (T) = (0 -64446.10542681101) / Math.Sqrt((448324.87795699097 / (29)) + (465173.1882092711 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.07504933618103043 = (59947.11429314232 - 64446.10542681101) / 59947.11429314232 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | f70d8a9663d3d674c453e26d405dc13baa79fd16 |
Compare | 4c25992c7b25c1ab21dc47e8dcba9f491b5fcb80 |
Diff | Diff |
Regressions in ByteMark
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
BenchStringSort - Duration of single invocation | 16.42 secs | 18.00 secs | 1.10 | 0.04 | False | |||||
BenchLUDecomp - Duration of single invocation | 16.35 secs | 32.65 secs | 2.00 | 0.08 | False | |||||
BenchNeuralJagged - Duration of single invocation | 9.91 secs | 19.20 secs | 1.94 | 0.07 | False | |||||
BenchAssignJagged - Duration of single invocation | 12.30 secs | 24.04 secs | 1.95 | 0.07 | False |
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'ByteMark*'
Payloads
Histogram
ByteMark.BenchStringSort
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 17.9954309998 > 17.2627852674625.
IsChangePoint: Marked as a change because one of 12/9/2022 1:52:32 PM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -24.226519507127026 (T) = (0 -18113098066.543) / Math.Sqrt((31704301114896444 / (29)) + (1.0015145716962222E+17 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.0951914857519464 = (16538749891.857264 - 18113098066.543) / 16538749891.857264 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### ByteMark.BenchLUDecomp
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 32.65106323076923 > 17.171660932574998.
IsChangePoint: Marked as a change because one of 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -6.106278650570077 (T) = (0 -28278902434.17351) / Math.Sqrt((2.095637882398067E+17 / (28)) + (1.1814519457034243E+20 / (32))) is less than -2.001717484144427 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (28) + (32) - 2, .025) and -0.7103485144254238 = (16534000056.516876 - 28278902434.17351) / 16534000056.516876 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### ByteMark.BenchNeuralJagged
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 19.197401466466665 > 10.395686757574039.
IsChangePoint: Marked as a change because one of 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -109.97622712817443 (T) = (0 -19446160702.643936) / Math.Sqrt((29851881385405092 / (29)) + (2.0657123932984083E+17 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.9580003920092433 = (9931642905.693624 - 19446160702.643936) / 9931642905.693624 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### ByteMark.BenchAssignJagged
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 24.037132266599997 > 12.645870687245.
IsChangePoint: Marked as a change because one of 12/9/2022 1:52:32 PM, 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -183.14290188687664 (T) = (0 -23534127355.313663) / Math.Sqrt((3280386871356595.5 / (29)) + (1.2169750407399117E+17 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.9492898492900758 = (12073180068.056429 - 23534127355.313663) / 12073180068.056429 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | f70d8a9663d3d674c453e26d405dc13baa79fd16 |
Compare | 4c25992c7b25c1ab21dc47e8dcba9f491b5fcb80 |
Diff | Diff |
Regressions in System.Collections.ContainsTrue<Int32>
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
SortedSet - Duration of single invocation | 555.05 μs | 598.28 μs | 1.08 | 0.08 | False | |||||
LinkedList - Duration of single invocation | 14.02 ms | 16.17 ms | 1.15 | 0.05 | False | |||||
ImmutableSortedSet - Duration of single invocation | 724.32 μs | 777.62 μs | 1.07 | 0.04 | False | |||||
ImmutableList - Duration of single invocation | 21.96 ms | 25.29 ms | 1.15 | 0.06 | False |
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsTrue<Int32>*'
Payloads
Histogram
System.Collections.ContainsTrue<Int32>.SortedSet(Size: 512)
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 598.279190418956 > 580.1628075996767.
IsChangePoint: Marked as a change because one of 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -10.245085854225042 (T) = (0 -610357.3022771743) / Math.Sqrt((163859104.0225122 / (29)) + (633143765.9781117 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.09248512346864586 = (558687.060505947 - 610357.3022771743) / 558687.060505947 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Collections.ContainsTrue<Int32>.LinkedList(Size: 512)
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 16.171717948717948 > 14.873784309843751.
IsChangePoint: Marked as a change because one of 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -23.27462004567526 (T) = (0 -16265513.935231177) / Math.Sqrt((122317302821.6351 / (29)) + (97700680231.73563 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.13897096233785874 = (14280885.53007926 - 16265513.935231177) / 14280885.53007926 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Collections.ContainsTrue<Int32>.ImmutableSortedSet(Size: 512)
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 777.6198656249999 > 760.9913771448865.
IsChangePoint: Marked as a change because one of 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -24.52777664354669 (T) = (0 -786823.9185146072) / Math.Sqrt((30006899.47605454 / (29)) + (173794378.09925717 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.08609101222471287 = (724454.8658062303 - 786823.9185146072) / 724454.8658062303 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Collections.ContainsTrue<Int32>.ImmutableList(Size: 512)
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 25.291282034188033 > 23.242103864318185.
IsChangePoint: Marked as a change because one of 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -22.299901039013033 (T) = (0 -25295008.988052886) / Math.Sqrt((243170623502.83917 / (29)) + (282070891053.1197 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.1307350475113601 = (22370412.09939038 - 25295008.988052886) / 22370412.09939038 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Architecture | x64 |
---|---|
OS | ubuntu 18.04 |
Baseline | f70d8a9663d3d674c453e26d405dc13baa79fd16 |
Compare | 4c25992c7b25c1ab21dc47e8dcba9f491b5fcb80 |
Diff | Diff |
Regressions in System.Linq.Tests.Perf_Enumerable
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio | Baseline ETL | Compare ETL |
---|---|---|---|---|---|---|---|---|---|---|
LastWithPredicate_FirstElementMatches - Duration of single invocation | 31.76 μs | 33.93 μs | 1.07 | 0.11 | False | |||||
AppendPrepend - Duration of single invocation | 51.96 μs | 57.03 μs | 1.10 | 0.05 | False | |||||
Contains_ElementNotFound - Duration of single invocation | 20.60 μs | 23.03 μs | 1.12 | 0.05 | False |
Repro
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Linq.Tests.Perf_Enumerable*'
Payloads
Histogram
System.Linq.Tests.Perf_Enumerable.LastWithPredicate_FirstElementMatches(input: IOrderedEnumerable)
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 33.92958466127149 > 33.5912128718694.
IsChangePoint: Marked as a change because one of 12/9/2022 1:52:32 PM, 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -13.15272304202598 (T) = (0 -34379.63307996178) / Math.Sqrt((202549.96202928145 / (29)) + (620714.0946330416 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.0662564715992481 = (32243.305429505843 - 34379.63307996178) / 32243.305429505843 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Linq.Tests.Perf_Enumerable.AppendPrepend(input: IEnumerable)
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 57.03156070120357 > 54.81125456135797.
IsChangePoint: Marked as a change because one of 12/9/2022 1:52:32 PM, 1/12/2023 3:42:01 AM, 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -16.56776204722798 (T) = (0 -57173.17762032174) / Math.Sqrt((1623232.2743967052 / (29)) + (661524.2990765034 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.08722394611850103 = (52586.385559696086 - 57173.17762032174) / 52586.385559696086 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
```#### System.Linq.Tests.Perf_Enumerable.Contains_ElementNotFound(input: IEnumerable)
```log
Description of detection logic
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsRegressionBase: Marked as regression because the compare was 5% greater than the baseline, and the value was not too small.
IsRegressionChecked: Marked as regression because the three check build points were 0.05 greater than the baseline.
IsRegressionWindowed: Marked as regression because 23.034414705522977 > 21.637567007345474.
IsChangePoint: Marked as a change because one of 2/1/2023 12:50:52 AM, 2/7/2023 2:48:42 AM falls between 1/29/2023 12:56:15 AM and 2/7/2023 2:48:42 AM.
IsRegressionStdDev: Marked as regression because -19.308814902765402 (T) = (0 -23203.94888512119) / Math.Sqrt((281509.89176629606 / (29)) + (153271.87862099896 / (32))) is less than -2.000995378087428 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (29) + (32) - 2, .025) and -0.11134805651839814 = (20879.10151011908 - 23203.94888512119) / 20879.10151011908 is less than -0.05.
IsImprovementBase: Marked as not an improvement because the compare was not 5% less than the baseline, or the value was too small.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository