Skip to content

[Perf] Regression in Span Indexing #54172

@DrewScoggins

Description

@DrewScoggins

Run Information

Architecture x64
OS ubuntu 18.04
Baseline c3126d0b0e3038c1bcb9a6ec4200841be3de03ba
Compare e0671e7ec6696449b61d61d19d3dd802b49a4fb3
Diff Diff

Regressions in System.Memory.Span<Byte>

Benchmark Baseline Test Test/Base Test Quality Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IndexOfAnyFourValues - Duration of single invocation 42.03 ns 620.97 ns 14.78 0.51

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Memory.Span&lt;Byte&gt;*'

Payloads

Baseline
Compare

Histogram

System.Memory.Span<Byte>.IndexOfAnyFourValues(Size: 512)


Docs

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

### Run Information
Architecture x64
OS ubuntu 18.04
Baseline c3126d0b0e3038c1bcb9a6ec4200841be3de03ba
Compare e0671e7ec6696449b61d61d19d3dd802b49a4fb3
Diff Diff

Regressions in System.Memory.Span<Int32>

Benchmark Baseline Test Test/Base Test Quality Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
IndexOfAnyFourValues - Duration of single invocation 286.54 ns 623.94 ns 2.18 0.01
BinarySearch - Duration of single invocation 15.75 ns 21.30 ns 1.35 0.06

graph
graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Memory.Span&lt;Int32&gt;*'

Payloads

Baseline
Compare

Histogram

System.Memory.Span<Int32>.IndexOfAnyFourValues(Size: 512)


System.Memory.Span<Int32>.BinarySearch(Size: 512)


Docs

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions