-
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
Parsing integers has regressed on arm32 #67974
Comments
Tagging subscribers to this area: @dotnet/area-system-runtime Issue DetailsVarious integer parsing benchmarks have regressed on arm (not on arm64). Since Repro: git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_monthly.py net7.0-preview2 net7.0-preview3 --filter System.Tests.Perf_Int32.Parse --architecture arm System.Tests.Perf_Int32.Parse(value: "4")
System.Tests.Perf_Int16.TryParse(value: "32767")
System.Tests.Perf_SByte.TryParse(value: "-128")
|
I'm tempted to call this noise, as these tests are historically noisy on other configs. Unfortunately, we haven't been testing arm32 on perf reports since this one, so it is hard to say if this issue persisted or resolved itself. Given the history of noise, do you think it is safe to call this regression noise? @adamsitnik @tannergooding |
Closing this, I'm assuming this is noise. |
@dakersnar could you please run these benchmark for .NET 6 and 7 and see what is the difference? git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 net7.0 --filter System.Tests.Perf_Int32.Parse --architecture arm |
This is another example of where even if it was an actual regression, we're looking at ~5ns (somewhere between 5-15 cycles) where other platforms largely stayed the same or had measurable improvements in the inverse direction. Arm32 is a platform that we only officially support on Linux and which doesn't even have SIMD support/acceleration today. This likely came about as part of the other parsing/formatting improvements and its not something worth spending significant time investigating. |
Various integer parsing benchmarks have regressed on arm (not on arm64).
Since
arm
is not covered by the perf lab, we don't have historical data in the Reporting System and all we know is that it happened between preview 2 and 3.Repro:
System.Tests.Perf_Int32.Parse(value: "4")
System.Tests.Perf_Int16.TryParse(value: "32767")
System.Tests.Perf_SByte.TryParse(value: "-128")
The text was updated successfully, but these errors were encountered: