Skip to content

Conversation

@adamsitnik
Copy link
Member

The perf is on par for both x64 and arm64.

BenchmarkDotNet=v0.13.1.1828-nightly, OS=ubuntu 20.04
Unknown processor
.NET SDK=7.0.100-rc.1.22405.1
  [Host]     : .NET 7.0.0 (7.0.22.40308), Arm64 RyuJIT AdvSIMD
  Job-NXYOFV : .NET 7.0.0 (42.42.42.42424), Arm64 RyuJIT AdvSIMD
  Job-PVCGZI : .NET 7.0.0 (42.42.42.42424), Arm64 RyuJIT AdvSIMD
Method Toolchain Size Mean Ratio
IndexOfAnyTwoValues /PR/corerun 512 37.13 ns 0.98
IndexOfAnyTwoValues /main/corerun 512 37.98 ns 1.00
BenchmarkDotNet=v0.13.1.1828-nightly, OS=Windows 11 (10.0.22000.795/21H2)
AMD Ryzen Threadripper PRO 3945WX 12-Cores, 1 CPU, 24 logical and 12 physical cores
.NET SDK=7.0.100-preview.7.22377.5
  [Host]     : .NET 7.0.0 (7.0.22.37506), X64 RyuJIT AVX2
  Job-MXBRWB : .NET 7.0.0 (42.42.42.42424), X64 RyuJIT AVX2
  Job-ABDMTJ : .NET 7.0.0 (42.42.42.42424), X64 RyuJIT AVX2
Method Toolchain Size Mean Ratio
IndexOfAnyTwoValues \PR\corerun.exe 512 8.696 ns 1.03
IndexOfAnyTwoValues \baseline\corerun.exe 512 8.475 ns 1.00

It's the last SpanHelper method from the #64451 TODO list!

@adamsitnik adamsitnik added area-System.Memory tenet-performance Performance related issue labels Aug 5, 2022
@adamsitnik adamsitnik added this to the 7.0.0 milestone Aug 5, 2022
@ghost ghost assigned adamsitnik Aug 5, 2022
@ghost
Copy link

ghost commented Aug 5, 2022

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

Issue Details

The perf is on par for both x64 and arm64.

BenchmarkDotNet=v0.13.1.1828-nightly, OS=ubuntu 20.04
Unknown processor
.NET SDK=7.0.100-rc.1.22405.1
  [Host]     : .NET 7.0.0 (7.0.22.40308), Arm64 RyuJIT AdvSIMD
  Job-NXYOFV : .NET 7.0.0 (42.42.42.42424), Arm64 RyuJIT AdvSIMD
  Job-PVCGZI : .NET 7.0.0 (42.42.42.42424), Arm64 RyuJIT AdvSIMD
Method Toolchain Size Mean Ratio
IndexOfAnyTwoValues /PR/corerun 512 37.13 ns 0.98
IndexOfAnyTwoValues /main/corerun 512 37.98 ns 1.00
BenchmarkDotNet=v0.13.1.1828-nightly, OS=Windows 11 (10.0.22000.795/21H2)
AMD Ryzen Threadripper PRO 3945WX 12-Cores, 1 CPU, 24 logical and 12 physical cores
.NET SDK=7.0.100-preview.7.22377.5
  [Host]     : .NET 7.0.0 (7.0.22.37506), X64 RyuJIT AVX2
  Job-MXBRWB : .NET 7.0.0 (42.42.42.42424), X64 RyuJIT AVX2
  Job-ABDMTJ : .NET 7.0.0 (42.42.42.42424), X64 RyuJIT AVX2
Method Toolchain Size Mean Ratio
IndexOfAnyTwoValues \PR\corerun.exe 512 8.696 ns 1.03
IndexOfAnyTwoValues \baseline\corerun.exe 512 8.475 ns 1.00

It's the last SpanHelper method from the #64451 TODO list!

Author: adamsitnik
Assignees: -
Labels:

area-System.Memory, tenet-performance

Milestone: 7.0.0

@tannergooding
Copy link
Member

Just noting that its somewhat unfortunate we're only testing 512 for this test and others. It means we're not seeing numbers for other interesting sizes. In particular, I'd think that most powers of 2 from 8-512 are interesting to look at when making such changes and I'd expect that inputs under 64-bytes might see a regression, but that its an overall acceptable tradeoff.

@adamsitnik adamsitnik merged commit 402aa85 into dotnet:main Aug 11, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Sep 10, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants