You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Regressions in System.Net.NetworkInformation.Tests.PhysicalAddressTests on 2/19/2023 #82442
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 112.52664760231312 > 106.46904325914913.
IsChangePoint: Marked as a change because one of 12/8/2022 9:11:55 AM, 1/11/2023 2:37:52 AM, 2/19/2023 8:14:07 AM, 2/21/2023 5:46:41 AM falls between 2/12/2023 2:35:10 PM and 2/21/2023 5:46:41 AM.
IsRegressionStdDev: Marked as regression because -13.027258951308566 (T) = (0 -110.3927897711911) / Math.Sqrt((0.4042938203688266 / (52)) + (5.142474481164312 / (10))) is less than -2.0002978220134566 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (52) + (10) - 2, .025) and -0.09320952255602948 = (100.98045021880353 - 110.3927897711911) / 100.98045021880353 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.
changed the title [-][Perf] Windows/x64: 1 Regression on 2/19/2023 10:06:54 AM[/-][+]Regressions in System.Net.NetworkInformation.Tests.PhysicalAddressTests on 2/19/2023[/+]on Feb 21, 2023
Misaligned loop + jcc erratum pretty much explain the regression to me. To align that loop, JIT has to emit more than 15 bytes of nops now and it never does it with adaptive (default) loop alignment behavior.
should just be Vector128 v0 = Vector128.WidenLower(hexLow);
Good point, but fortunately, it doesn't affect codegen
Activity
dakersnar commentedon Feb 21, 2023
Likely caused by #81666
[-][Perf] Windows/x64: 1 Regression on 2/19/2023 10:06:54 AM[/-][+]Regressions in System.Net.NetworkInformation.Tests.PhysicalAddressTests on 2/19/2023[/+]EgorBo commentedon Feb 24, 2023
Can't reproduce regression locally on Win-x64, codegen diff: https://www.diffchecker.com/6WrxIw4x/
two notes:
tannergooding commentedon Feb 27, 2023
@EgorBo, looks like the 10ns regression is staying pretty consistent in the perf lab.
Could you share the before asm, just so we can easily compare?
Also notably that
(Vector128<ushort> v0, _) = Vector128.Widen(hexLow);should just beVector128<ushort> v0 = Vector128.WidenLower(hexLow);EgorBo commentedon Feb 27, 2023
in the comment above ^, https://www.diffchecker.com/6WrxIw4x/
Misaligned loop + jcc erratum pretty much explain the regression to me. To align that loop, JIT has to emit more than 15 bytes of nops now and it never does it with adaptive (default) loop alignment behavior.
Good point, but fortunately, it doesn't affect codegen
EgorBo commentedon Feb 27, 2023
I want to wait with this one for a static pgo update + have a fix for loop alignment, e.g. #82635 fixes the issue
EgorBo commentedon Jun 9, 2023
the regression is no more