Closed
Description
Run Information
Name | Value |
---|---|
Architecture | arm64 |
OS | Windows 10.0.19041 |
Queue | SurfaceWindows |
Baseline | 2c4b4c0831d1d9f505ff5d3055c38bb41646021b |
Compare | d389ab955dbb65547643fa1aed52669b02c04294 |
Diff | Diff |
Configs | CompilationMode:tiered, RunKind:micro |
Improvements in System.Reflection.Invoke
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
98.81 ns | 75.35 ns | 0.76 | 0.24 | False | ||||
128.95 ns | 107.52 ns | 0.83 | 0.21 | False |
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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Reflection.Invoke*'
Payloads
System.Reflection.Invoke.StaticMethod4_arrayNotCached_int_string_struct_class
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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 6/22/2023 12:06:43 AM, 7/14/2023 7:13:27 PM, 7/25/2023 11:29:56 AM, 7/26/2023 10:32:59 PM falls between 7/18/2023 9:59:03 AM and 7/26/2023 10:32:59 PM.
IsImprovementStdDev: Marked as improvement because 9.975098911619211 (T) = (0 -76.82746624851865) / Math.Sqrt((54.04837218420811 / (299)) + (4.388501650146029 / (2))) is greater than 1.9679296690655894 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (2) - 2, .975) and 0.1667318680222712 = (92.20017338977276 - 76.82746624851865) / 92.20017338977276 is greater than 0.05.
IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so.
JIT Disasms
System.Reflection.Invoke.StaticMethod5_arrayNotCached_int_string_struct_class_bool
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 we could not find enough baseline builds for window checking.
IsChangePoint: Marked as a change because one of 6/22/2023 12:06:43 AM, 7/25/2023 11:29:56 AM, 7/26/2023 10:32:59 PM falls between 7/18/2023 9:59:03 AM and 7/26/2023 10:32:59 PM.
IsImprovementStdDev: Marked as improvement because 35.03303191560921 (T) = (0 -106.69958261986301) / Math.Sqrt((83.19744872205227 / (299)) + (1.3393365534637054 / (2))) is greater than 1.9679296690655894 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (2) - 2, .975) and 0.24223442365093226 = (140.80816805369292 - 106.69958261986301) / 140.80816805369292 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
Benchmarking workflow for dotnet/runtime repository