-
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
Use double VectorTableLookup on ARM in ProbabilisticMap #85189
Conversation
Tagging subscribers to this area: @dotnet/area-system-buffers Issue DetailsContributes to #84328 When I vectorized this path in #80963, I ran benchmarks on ARM with the initial version of the PR, but later regressed it with 2295370 by using the The change to use Before
After
|
Bug? |
Likely just not implemented yet, #75770 may be the right tracking issue for that. |
cc: @a74nh |
Code looks good to me. Out of curiosity, do you know roughly how much of the performance gain comes from the |
Can you log a bug for this. Looks like a simple fix as we should just need to recognize the operators in addition to the named methods: https://github.com/dotnet/runtime/blob/main/src/coreclr/jit/hwintrinsicarm64.cpp#L1520-L1555 |
The 3.776 µs => 2.576 µs change on this benchmark is entirely due to
|
src/libraries/System.Private.CoreLib/src/System/IndexOfAnyValues/ProbabilisticMap.cs
Outdated
Show resolved
Hide resolved
That's 30% gain. Good to see that. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Failures are known according to Build Analysis |
Contributes to #84328
Before
After