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] Changes at 6/9/2022 8:09:33 PM #6105

Open performanceautofiler[bot] opened 2 years ago

performanceautofiler[bot] commented 2 years ago

Run Information

Architecture x64
OS Windows 10.0.19042
Baseline 0dbb28f43cc8bd56745f84c8e78e5645521da54b
Compare 61ca87cb48435239d662b75636629c432e5fc8f8
Diff Diff

Regressions in System.Threading.Tasks.ValueTaskPerfTest

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[CreateAndAwait_FromYieldingAsyncMethod - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_Windows 10.0.19042/amd/System.Threading.Tasks.ValueTaskPerfTest.CreateAndAwait_FromYieldingAsyncMethod.html>) 880.62 ns 973.10 ns 1.11 0.16 False

graph Test Report

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Threading.Tasks.ValueTaskPerfTest*'
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Threading.Tasks.ValueTaskPerfTest.CreateAndAwait_FromYieldingAsyncMethod ```log ``` ### Description of detection logic ```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. 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 973.100992834837 > 944.3623594368253. IsChangePoint: Marked as a change because one of 6/9/2022 2:26:30 PM, 6/14/2022 8:14:23 AM falls between 6/5/2022 6:02:14 PM and 6/14/2022 8:14:23 AM. IsRegressionStdDev: Marked as regression because -11.843874359927982 (T) = (0 -990.8337249168713) / Math.Sqrt((1203.677441066717 / (47)) + (596.6418397841592 / (28))) is less than -1.99299712588925 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (47) + (28) - 2, .025) and -0.08917969326215086 = (909.7063882537801 - 990.8337249168713) / 909.7063882537801 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](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)
mrsharm commented 2 years ago

Looks like the regression has been solved in the aforementioned configuration but looking at the test history for the following machine and the data from the perf report for August, this regression seems to have persisted:

image

https://pvscmdupload.blob.core.windows.net/reports/allTestHistory%2frefs%2fheads%2fmain_x64_Windows%2010.0.18362%2fSystem.Threading.Tasks.ValueTaskPerfTest.CreateAndAwait_FromYieldingAsyncMethod.html

System.Threading.Tasks.ValueTaskPerfTest.CreateAndAwait_FromYieldingAsyncMethod | Result |Ratio | Alloc Delta | Operating System | Bit | Processor Name | | ------ |-----:| -----------:| --------------------- | ----- | ----------------------------------------------- | | Faster | 1.89 | +1 | Windows 11 | Arm64 | Microsoft SQ1 3.0 GHz | | Same | 1.02 | +0 | Windows 11 | Arm64 | Microsoft SQ1 3.0 GHz | | Same | 1.00 | +0 | macOS Monterey 12.3 | Arm64 | Apple M1 Max | | Same | 0.96 | +1 | Windows 10 | X64 | Intel Xeon CPU E5-1650 v4 3.60GHz | | Same | 0.98 | -1 | Windows 10 | X64 | Intel Core i7-6700 CPU 3.40GHz (Skylake) | | Same | 1.05 | +0 | Windows 10 | X64 | Intel Core i7-6700 CPU 3.40GHz (Skylake) | | Same | 0.98 | +0 | Windows 10 | X64 | Intel Core i7-8650U CPU 1.90GHz (Kaby Lake R) | | Same | 0.96 | -2 | Windows 10 | X64 | Intel Core i9-10900K CPU 3.70GHz | | Same | 1.07 | +2 | Windows 11 | X64 | AMD Ryzen Threadripper PRO 3945WX 12-Cores | | Same | 0.95 | -1 | Windows 11 | X64 | AMD Ryzen 9 3950X | | Slower | 0.87 | -6 | Windows 11 | X64 | AMD Ryzen 9 5900X | | Slower | 0.86 | -3 | Windows 11 | X64 | AMD Ryzen 9 5950X | | Same | 1.05 | -1 | Windows 11 | X64 | Intel Core i7-8700 CPU 3.20GHz (Coffee Lake) | | Same | 0.96 | +0 | Windows 11 | X64 | Intel Core i9-10900K CPU 3.70GHz | | Slower | 0.86 | -7 | Windows 11 | X64 | 11th Gen Intel Core i9-11900H 2.50GHz | | Same | 0.90 | +0 | ubuntu 18.04 | X64 | Intel Xeon CPU E5-1650 v4 3.60GHz | | Same | 1.09 | +0 | ubuntu 18.04 | X64 | Intel Core i7-2720QM CPU 2.20GHz (Sandy Bridge) | | Same | 0.88 | +0 | ubuntu 18.04 | X64 | Intel Core i7-8700 CPU 3.20GHz (Coffee Lake) | | Slower | 0.37 | +1 | ubuntu 20.04 | X64 | AMD Ryzen 9 5900X | | Slower | 0.70 | +0 | ubuntu 20.04 | X64 | Intel Core i9-10900K CPU 3.70GHz | | Slower | 0.03 | -33 | Windows 10 | X86 | Intel Xeon CPU E5-1650 v4 3.60GHz | | Same | 1.05 | +0 | Windows 10 | X86 | Intel Core i7-6700 CPU 3.40GHz (Skylake) | | Same | 0.93 | +1 | Windows 11 | X86 | AMD Ryzen Threadripper PRO 3945WX 12-Cores | | Faster | 1.14 | +0 | macOS Big Sur 11.6.8 | X64 | Intel Core i5-4278U CPU 2.60GHz (Haswell) | | Same | 0.99 | +0 | macOS Monterey 12.3.1 | X64 | Intel Core i7-5557U CPU 3.10GHz (Broadwell) | | Same | 1.06 | +0 | macOS Monterey 12.4 | X64 | Intel Core i5-4278U CPU 2.60GHz (Haswell) |