Skip to content

port SpanHelpers.IndexOfAny(ref byte, byte, byte, int) to Vector128/256 - #73384

Merged
adamsitnik merged 1 commit into
dotnet:mainfrom
adamsitnik:spanIndexOfAnyByte
Aug 5, 2022
Merged

port SpanHelpers.IndexOfAny(ref byte, byte, byte, int) to Vector128/256#73384
adamsitnik merged 1 commit into
dotnet:mainfrom
adamsitnik:spanIndexOfAnyByte

Conversation

@adamsitnik

@adamsitnikadamsitnik commented Aug 4, 2022

Copy link
Copy Markdown
Member

x64

On par.

Details
BenchmarkDotNet=v0.13.1.1828-nightly, OS=Windows 10 (10.0.18363.2212/1909/November2019Update/19H2)
Intel Xeon CPU E5-1650 v4 3.60GHz, 1 CPU, 12 logical and 6 physical cores
.NET SDK=7.0.100-rc.1.22403.8
[Host] : .NET 7.0.0 (7.0.22.40210), X64 RyuJIT AVX2
LaunchCount=9
MethodToolchainSizeMeanRatio
IndexOfAnyTwoValues\PR\corerun.exe51217.51 ns1.00
IndexOfAnyTwoValues\baseline\corerun.exe51217.43 ns1.00

arm64

BDN is reporting less than a nanosecond difference, which maps to 4%. On arm64 I don't have the tool that would allow me to verify whether it's caused by an alginment or codegen change.

Details
BenchmarkDotNet=v0.13.1.1828-nightly, OS=ubuntu 20.04
Unknown processor
.NET SDK=7.0.100-rc.1.22403.8
[Host] : .NET 7.0.0 (7.0.22.40210), Arm64 RyuJIT AdvSIMD
LaunchCount=9
MethodToolchainSizeMeanRatio
IndexOfAnyTwoValues/PR/corerun51237.37 ns1.04
IndexOfAnyTwoValues/main/corerun51236.12 ns1.00

contributes to #64451

@ghost

ghost commented Aug 4, 2022

Copy link
Copy Markdown

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

Issue Details

x64

On par.

Details
BenchmarkDotNet=v0.13.1.1828-nightly, OS=Windows 10 (10.0.18363.2212/1909/November2019Update/19H2)
Intel Xeon CPU E5-1650 v4 3.60GHz, 1 CPU, 12 logical and 6 physical cores
.NET SDK=7.0.100-rc.1.22403.8
[Host] : .NET 7.0.0 (7.0.22.40210), X64 RyuJIT AVX2
LaunchCount=9
MethodToolchainSizeMeanRatio
IndexOfAnyTwoValues\PR\corerun.exe51217.51 ns1.00
IndexOfAnyTwoValues\baseline\corerun.exe51217.43 ns1.00

arm64

BDN is reporting less than a nanosecond difference, which maps to 4%. On arm64 I don't have the tool that would allow me to verify whether it's caused by an alginment or codegen change.

Details
BenchmarkDotNet=v0.13.1.1828-nightly, OS=ubuntu 20.04
Unknown processor
.NET SDK=7.0.100-rc.1.22403.8
[Host] : .NET 7.0.0 (7.0.22.40210), Arm64 RyuJIT AdvSIMD
LaunchCount=9
MethodToolchainSizeMeanRatio
IndexOfAnyTwoValues/PR/corerun51237.37 ns1.04
IndexOfAnyTwoValues/main/corerun51236.12 ns1.00
Author:adamsitnik
Assignees:-
Labels:

area-System.Memory

Milestone:-

@lambdageek

Copy link
Copy Markdown
Member

WASM AOT compilation failed in this PR and is now failing on main

@jkotas

jkotas commented Aug 5, 2022

Copy link
Copy Markdown
Member

Submitting revert in #73476

jkotas added a commit that referenced this pull request Aug 5, 2022
@jkotas

Copy link
Copy Markdown
Member

@adamsitnik Please make sure to add links to the known issues tracking the failures when merging with red CI next time.

@ghostghost locked as resolved and limited conversation to collaborators Sep 4, 2022
Sign up for freeto 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.

5 participants

@adamsitnik@lambdageek@jkotas@stephentoub@tannergooding