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] Regressions in System.Buffers.Tests.RentReturnArrayPoolTests<Object> #56555

Closed
performanceautofiler bot opened this issue Jul 27, 2021 · 9 comments

Comments

@performanceautofiler
Copy link

performanceautofiler bot commented Jul 27, 2021

Run Information

Architecture arm64
OS Windows 10.0.19041
Baseline ec3f9fa03f72ceadfa0610196a12bab3b37b63f9
Compare 775ecaefe7aa3be85858e612fef782f0e1991f51
Diff Diff

Regressions in System.Buffers.Tests.RentReturnArrayPoolTests<Object>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
MultipleSerial - Duration of single invocation 814.29 ns 881.75 ns 1.08 0.07 False

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Buffers.Tests.RentReturnArrayPoolTests&lt;Object&gt;*'

Payloads

Baseline
Compare

Histogram

System.Buffers.Tests.RentReturnArrayPoolTests<Object>.MultipleSerial(RentalSize: 4096, ManipulateArray: False, Async: False, UseSharedPool: True)


Docs

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

@DrewScoggins DrewScoggins changed the title [Perf] Changes at 7/20/2021 1:51:45 PM [Perf] Regressions in System.Buffers.Tests.RentReturnArrayPoolTests<Object> Jul 29, 2021
@DrewScoggins DrewScoggins transferred this issue from dotnet/perf-autofiling-issues Jul 29, 2021
@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Jul 29, 2021
@DrewScoggins
Copy link
Member

Seems related to #55959

@DrewScoggins DrewScoggins added arch-arm64 os-windows tenet-performance Performance related issue tenet-performance-benchmarks Issue from performance benchmark labels Jul 29, 2021
@stephentoub
Copy link
Member

@DrewScoggins, how do I see other generic instantations of this same test for the same period? The test runs for both object and byte:
https://github.com/dotnet/performance/blob/d7dac8a7ca12a28d099192f8a901cf8e30361384/src/benchmarks/micro/libraries/System.Buffers/ArrayPoolTests.cs#L14-L15

@DrewScoggins
Copy link
Member

DrewScoggins commented Jul 29, 2021

@ghost
Copy link

ghost commented Jul 30, 2021

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

Issue Details

Run Information

Architecture arm64
OS Windows 10.0.19041
Baseline ec3f9fa03f72ceadfa0610196a12bab3b37b63f9
Compare 775ecaefe7aa3be85858e612fef782f0e1991f51
Diff Diff

Regressions in System.Buffers.Tests.RentReturnArrayPoolTests<Object>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
MultipleSerial - Duration of single invocation 814.29 ns 881.75 ns 1.08 0.07 False

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Buffers.Tests.RentReturnArrayPoolTests&lt;Object&gt;*'

Payloads

Baseline
Compare

Histogram

System.Buffers.Tests.RentReturnArrayPoolTests<Object>.MultipleSerial(RentalSize: 4096, ManipulateArray: False, Async: False, UseSharedPool: True)


Docs

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

Author: performanceautofiler[bot]
Assignees: -
Labels:

arch-arm64, area-System.Buffers, os-windows, tenet-performance, tenet-performance-benchmarks, untriaged

Milestone: -

@tannergooding
Copy link
Member

@DrewScoggins, @stephentoub, was this addressed by #56316 ?

@stephentoub
Copy link
Member

Apparently partially but not fully:
#56316 (comment)

@tannergooding
Copy link
Member

A 2.56% regression (20ns) isn't bad. Do we think there are additional gains that can still be won back?

If so, I'll put this in future; otherwise, I think we should probably close the issue and accept the regression (given the wins we otherwise got).

@stephentoub
Copy link
Member

I think future (or closed) here is fine. It's a tiny hit in one use case on one architecture, and apparently only for object but not byte/char.

@ghost ghost locked as resolved and limited conversation to collaborators Sep 16, 2021
@tannergooding tannergooding removed the untriaged New issue has not been triaged by the area owner label Jun 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants