-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Perf] Regressions in System.Numerics.Tests.Perf_BigInteger #57293
Comments
Tagging subscribers to this area: @dotnet/area-system-numerics Issue DetailsRun Information
Regressions in System.Numerics.Tests.Perf_BigInteger
Reprogit clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Numerics.Tests.Perf_BigInteger*' PayloadsHistogramSystem.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: -2147483648)
System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: 123)
DocsProfiling workflow for dotnet/runtime repository
|
Seems related to https://github.com/dotnet/runtime/pull/53984/files |
Assuming #53984, as something intended to be a minor cleanup but regressing some benchmarks by 30%-100%, at this point for .NET 6 it should likely be reverted and revisted for .NET 7. |
Agreed. Additionally, we should likely look into why the regression is so bad as a follow up. I don't believe its expected that using indexers should be this impactful. |
JIT looks happy with index expression and generates slightly better code for it. |
FYI, that's on .NET 5 and amd64, rather than .NET 6 and arm64. |
Notably, that's a relatively simple example. Looking through other scenarios and directly copying the full expression/context they are used in shows worse codegen in several cases. I'm investigating more so I can log some issues on the runtime and/or compiler. |
Possibly relevant: #11870. |
Run Information
Regressions in System.Numerics.Tests.Perf_BigInteger
Historical Data in Reporting System
Repro
Payloads
Baseline
Compare
Histogram
System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: -2147483648)
System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: 123)
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
The text was updated successfully, but these errors were encountered: