Skip to content
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

Add AVX/AVX512 to Ordinal.EqualsIgnoreCase #92497

Closed
EgorBo opened this issue Sep 22, 2023 · 1 comment · Fixed by #93116
Closed

Add AVX/AVX512 to Ordinal.EqualsIgnoreCase #92497

EgorBo opened this issue Sep 22, 2023 · 1 comment · Fixed by #93116

Comments

@EgorBo
Copy link
Member

EgorBo commented Sep 22, 2023

Ordinal.EqualsIgnoreCase currently has a SIMDified path only for Vector128: EqualsIgnoreCase_Vector128 and since we're observing this call in traces on hot path for one of our 1P customers, it should makes sense to add AVX and AVX2 here. For that, we need to re-use existing Ascii.EqualsIgnoreCase API that already does it, the problem that that API gives up on on non-ASCII input while we want to know the exact position where we gave up in order to switch to the slow fallback - we need to modify that API to return it.

image

@dotnet-issue-labeler dotnet-issue-labeler bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Sep 22, 2023
@ghost ghost added the untriaged New issue has not been triaged by the area owner label Sep 22, 2023
@EgorBo EgorBo added area-System.Runtime and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Sep 22, 2023
@ghost
Copy link

ghost commented Sep 22, 2023

Tagging subscribers to this area: @dotnet/area-system-runtime
See info in area-owners.md if you want to be subscribed.

Issue Details

Ordinal.EqualsIgnoreCase currently has a SIMDified path only for Vector128: EqualsIgnoreCase_Vector128 and since we're observing this call in traces on hot path for one of our 1P customers, it should makes sense to add AVX and AVX2 here. For that, we need to re-use existing Ascii.EqualsIgnoreCase API that already does it, the problem that that API gives up on on non-ASCII input while we want to know the exact position where we gave up to switch to a slow fallback - we need to modify that API to return it.

image

Author: EgorBo
Assignees: -
Labels:

area-System.Runtime, untriaged

Milestone: -

@EgorBo EgorBo added untriaged New issue has not been triaged by the area owner and removed untriaged New issue has not been triaged by the area owner labels Sep 22, 2023
@ghost ghost added in-pr There is an active PR which will close this issue when it is merged and removed in-pr There is an active PR which will close this issue when it is merged labels Oct 6, 2023
@ghost ghost removed in-pr There is an active PR which will close this issue when it is merged untriaged New issue has not been triaged by the area owner labels Oct 15, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Nov 14, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant