-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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 -25%] PerfLabTests.CastingPerf2.CastingPerf.ScalarValueTypeObj #39039
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
This will likely need further investigation. As can be seen from the graph we moved into a mode where we started moving between two stable points in the benchmark. It would probably be interesting to see if we have a assembly difference here or if this is just an alignment issue. |
cc: @VSadov |
could be related to #37803 |
Assuming this is similar to 37803, and the perf difference is reasonable. |
This is a trivial Unbox. JIT inlines the type check and if there is a match (which is the case for the benchmark), it copies the value out without calling any helpers since the value here contains no GC references. I checked the codegen to be sure. I do not think the code changed. The perf has not technically regressed, just went bimodal. The perf seems acceptable. This is a very fast scenario similar to 37803. |
I don't have enough data to be 100% sure that the benchmark is not just multimodal, but the data that I have so far tells that it might be Windows x64 specific issue. I am going to update it later this week when I have data from more runs and machines PerfLabTests.CastingPerf2.CastingPerf.ScalarValueTypeObj
|
@VSadov is there anything which needs to be investigated for .net 5 here? |
@mangod9 - I do not think there is something actionable further. |
Run Information
Regressions in PerfLabTests.CastingPerf2.CastingPerf
Historical Data in Reporting System
Repro
Histogram
PerfLabTests.CastingPerf2.CastingPerf.ScalarValueTypeObj
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
The text was updated successfully, but these errors were encountered: