Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Intrinsicify SpanHelpers.IndexOfAny(char,char) #22877

Closed

Conversation

benaadams
Copy link
Member

@benaadams benaadams commented Feb 27, 2019

From #22187

Based on #22875 which is first commit

               Method | Position |       Mean |
 -------------------- |--------- |-----------:|
- String_IndexOfAny_2 |        7 |   9.353 ns |
+ String_IndexOfAny_2 |        7 |   9.097 ns |
- String_IndexOfAny_2 |        8 |   9.716 ns |
+ String_IndexOfAny_2 |        8 |   9.133 ns |
- String_IndexOfAny_2 |       15 |  11.978 ns |
+ String_IndexOfAny_2 |       15 |   8.620 ns |
- String_IndexOfAny_2 |       16 |  11.919 ns |
+ String_IndexOfAny_2 |       16 |   8.616 ns |
- String_IndexOfAny_2 |       31 |  12.521 ns |
+ String_IndexOfAny_2 |       31 |   9.206 ns |
- String_IndexOfAny_2 |       32 |  12.519 ns |
+ String_IndexOfAny_2 |       32 |   9.208 ns |
- String_IndexOfAny_2 |       63 |  14.935 ns |
+ String_IndexOfAny_2 |       63 |  10.207 ns |
- String_IndexOfAny_2 |       64 |  14.828 ns |
+ String_IndexOfAny_2 |       64 |  10.332 ns |
- String_IndexOfAny_2 |      127 |  21.806 ns |
+ String_IndexOfAny_2 |      127 |  12.716 ns |
- String_IndexOfAny_2 |      128 |  21.848 ns |
+ String_IndexOfAny_2 |      128 |  12.544 ns |
- String_IndexOfAny_2 |      255 |  30.815 ns |
+ String_IndexOfAny_2 |      255 |  17.898 ns |
- String_IndexOfAny_2 |      256 |  30.896 ns |
+ String_IndexOfAny_2 |      256 |  17.715 ns |
- String_IndexOfAny_2 |     1023 |  88.839 ns |
+ String_IndexOfAny_2 |     1023 |  68.134 ns |
- String_IndexOfAny_2 |     1024 |  89.023 ns |
+ String_IndexOfAny_2 |     1024 |  68.261 ns |

Resolves https://github.com/dotnet/coreclr/issues/22764

/cc @tannergooding @GrabYourPitchforks

@tannergooding
Copy link
Member

Going to wait to review this until after #22816. It looks to be many of the comments are going to be the same overall.

@benaadams benaadams force-pushed the SpanHelpers.IndexOfAny-char-char branch from b0646fa to 88020cc Compare April 7, 2019 14:12
@benaadams
Copy link
Member Author

@dotnet-bot test Windows_NT x64 Checked jitx86hwintrinsicnoavx
@dotnet-bot test Windows_NT x64 Checked jitx86hwintrinsicnosimd
@dotnet-bot test Windows_NT x64 Checked jitnox86hwintrinsic

@dotnet-bot test Windows_NT x86 Checked jitx86hwintrinsicnoavx
@dotnet-bot test Windows_NT x86 Checked jitx86hwintrinsicnosimd
@dotnet-bot test Windows_NT x86 Checked jitnox86hwintrinsic

@dotnet-bot test Ubuntu x64 Checked jitx86hwintrinsicnoavx
@dotnet-bot test Ubuntu x64 Checked jitx86hwintrinsicnosimd
@dotnet-bot test Ubuntu x64 Checked jitnox86hwintrinsic

@benaadams
Copy link
Member Author

Will follow up after #22505

@maryamariyan
Copy link
Member

Thank you for your contribution. As announced in dotnet/coreclr#27549 this repository will be moving to dotnet/runtime on November 13. If you would like to continue working on this PR after this date, the easiest way to move the change to dotnet/runtime is:

  1. In your coreclr repository clone, create patch by running git format-patch origin
  2. In your runtime repository clone, apply the patch by running git apply --directory src/coreclr <path to the patch created in step 1>

@benaadams benaadams force-pushed the SpanHelpers.IndexOfAny-char-char branch 4 times, most recently from 187bf01 to 95a9986 Compare November 9, 2019 16:35
@benaadams benaadams force-pushed the SpanHelpers.IndexOfAny-char-char branch from 95a9986 to 9424750 Compare November 9, 2019 16:39
@benaadams
Copy link
Member Author

benaadams commented Nov 9, 2019

Rebased ready for review /cc @tannergooding @CarolEidt @GrabYourPitchforks

Is there anyway of running CI jobs different intrinsics settings as there was with dotnetbot e.g. #22877 (comment)? /cc @tannergooding @jkotas

@benaadams
Copy link
Member Author

A TODO follow up: is to fold back the last vector rather than going back to sequential for the final unaligned amount; however I'm currently unable to build locally to do performance metrics so with the upcoming repo freeze/merge didn't want to stray too far from what has been previously measured.

@maryamariyan
Copy link
Member

Thank you for your contribution. As announced in #27549 the dotnet/runtime repository will be used going forward for changes to this code base. Closing this PR as no more changes will be accepted into master for this repository. If you’d like to continue working on this change please move it to dotnet/runtime.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use Intrinsics.X86 for SpanHelpers.IndexOfAny(char,char)
4 participants