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

[Perf] Linux/x64: 3 Regressions in IndexOf #108669

Closed
performanceautofiler bot opened this issue Oct 8, 2024 · 5 comments
Closed

[Perf] Linux/x64: 3 Regressions in IndexOf #108669

performanceautofiler bot opened this issue Oct 8, 2024 · 5 comments
Assignees
Labels
arch-x64 area-System.Memory os-linux Linux OS (any supported distro) runtime-coreclr specific to the CoreCLR runtime tenet-performance Performance related issue tenet-performance-benchmarks Issue from performance benchmark
Milestone

Comments

@performanceautofiler
Copy link

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue ViperUbuntu
Baseline fce7c7d1c316b56b90c6246bc4c91180ca6b3c99
Compare 0372b5080a4aec8d73d6861ad4b993d9d0fe3a11
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Memory.ReadOnlySpan

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
18.71 ns 23.59 ns 1.26 0.06 True
131.73 ns 144.67 ns 1.10 0.01 False
23.87 ns 28.75 ns 1.20 0.02 False

graph
graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.ReadOnlySpan*'

System.Memory.ReadOnlySpan.IndexOfString(input: "string1", value: "string2", comparisonType: InvariantCulture)

ETL Files

Histogram

JIT Disasms

System.Memory.ReadOnlySpan.IndexOfString(input: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", value: "x", comparisonType: InvariantCultureIgnoreCase)

ETL Files

Histogram

JIT Disasms

System.Memory.ReadOnlySpan.IndexOfString(input: "foobardzsdzs", value: "rddzs", comparisonType: InvariantCulture)

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue ViperUbuntu
Baseline fce7c7d1c316b56b90c6246bc4c91180ca6b3c99
Compare 0372b5080a4aec8d73d6861ad4b993d9d0fe3a11
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
13.08 ns 14.44 ns 1.10 0.11 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives&lt;Int32&gt;*'

System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Int32>.Max_Vector(BufferLength: 128)

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

@performanceautofiler performanceautofiler bot added arch-x64 os-linux Linux OS (any supported distro) runtime-coreclr specific to the CoreCLR runtime untriaged New issue has not been triaged by the area owner labels Oct 8, 2024
@LoopedBard3 LoopedBard3 transferred this issue from dotnet/perf-autofiling-issues Oct 8, 2024
@LoopedBard3 LoopedBard3 added tenet-performance Performance related issue tenet-performance-benchmarks Issue from performance benchmark labels Oct 8, 2024
@LoopedBard3 LoopedBard3 changed the title [Perf] Linux/x64: 4 Regressions on 10/5/2024 12:20:40 AM [Perf] Linux/x64: 3 Regressions in ReadOnlySpan Oct 8, 2024
Copy link
Contributor

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

@LoopedBard3
Copy link
Member

Likely commit #108499 @tarekgh, commit range 0ab7efe...6160518

@LoopedBard3 LoopedBard3 changed the title [Perf] Linux/x64: 3 Regressions in ReadOnlySpan [Perf] Linux/x64: 3 Regressions in IndexOf Oct 8, 2024
@LoopedBard3
Copy link
Member

LoopedBard3 commented Oct 8, 2024

@tarekgh tarekgh self-assigned this Oct 8, 2024
@tarekgh tarekgh added this to the 10.0.0 milestone Oct 8, 2024
@tarekgh tarekgh removed the untriaged New issue has not been triaged by the area owner label Oct 8, 2024
@tarekgh
Copy link
Member

tarekgh commented Oct 9, 2024

We have a PR #108709 out to address this issue.

@tarekgh
Copy link
Member

tarekgh commented Oct 10, 2024

This should be addressed now by #108709. Note, we expect some perf cost in specific scenario when searching all ascii string inside all ascii string while failing to find the search string.

@tarekgh tarekgh closed this as completed Oct 10, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Nov 10, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-x64 area-System.Memory os-linux Linux OS (any supported distro) runtime-coreclr specific to the CoreCLR runtime tenet-performance Performance related issue tenet-performance-benchmarks Issue from performance benchmark
Projects
None yet
Development

No branches or pull requests

2 participants