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

[Mono][Perf][AOT] Regressions in BigInteger benchmarks. #61623

Closed
naricc opened this issue Nov 15, 2021 · 5 comments
Closed

[Mono][Perf][AOT] Regressions in BigInteger benchmarks. #61623

naricc opened this issue Nov 15, 2021 · 5 comments
Labels
area-System.Numerics runtime-mono specific to the Mono runtime

Comments

@naricc
Copy link
Member

naricc commented Nov 15, 2021

I am seeing regressions in several BigInteger benchmarks, in mono-aot that seem to be related to this change: 22b516c

@sakno @gfoidl Any ideas?

Automated issue below.

Run Information

Architecture x64
OS ubuntu 18.04
Baseline cc7f2f9c1a80c262055757331acca25d2748d381
Compare ce4eb48eb8950e3a1454149af14318494a1ca95e
Diff Diff

Regressions in System.Numerics.Tests.Perf_BigInteger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ModPow - Duration of single invocation 2.91 ms 4.14 ms 1.42 0.01 True
Add - Duration of single invocation 21.64 ns 30.60 ns 1.41 0.01 True
Divide - Duration of single invocation 19.88 ns 22.10 ns 1.11 0.04 True

Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Numerics.Tests.Perf_BigInteger*'

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Perf_BigInteger.ModPow(arguments: 16384,16384,64 bits)


System.Numerics.Tests.Perf_BigInteger.Add(arguments: 16,16 bits)




System.Numerics.Tests.Perf_BigInteger.Divide(arguments: 16,8 bits)


Docs

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

@dotnet-issue-labeler dotnet-issue-labeler bot added area-System.Numerics untriaged New issue has not been triaged by the area owner labels Nov 15, 2021
@ghost
Copy link

ghost commented Nov 15, 2021

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

Issue Details

I am seeing regressions in several BigInteger benchmarks, in mono-aot that seem to be related to this change: 22b516c

@sakno @gfoidl Any ideas?

Automated issue below.

Run Information

Architecture x64
OS ubuntu 18.04
Baseline cc7f2f9c1a80c262055757331acca25d2748d381
Compare ce4eb48eb8950e3a1454149af14318494a1ca95e
Diff Diff

Regressions in System.Numerics.Tests.Perf_BigInteger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
ModPow - Duration of single invocation 2.91 ms 4.14 ms 1.42 0.01 True
Add - Duration of single invocation 21.64 ns 30.60 ns 1.41 0.01 True
Divide - Duration of single invocation 19.88 ns 22.10 ns 1.11 0.04 True

Test Report

Repro

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Numerics.Tests.Perf_BigInteger*'

Payloads

Baseline
Compare

Histogram

System.Numerics.Tests.Perf_BigInteger.ModPow(arguments: 16384,16384,64 bits)


System.Numerics.Tests.Perf_BigInteger.Add(arguments: 16,16 bits)




System.Numerics.Tests.Perf_BigInteger.Divide(arguments: 16,8 bits)


Docs

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

Author: naricc
Assignees: -
Labels:

area-System.Numerics, untriaged

Milestone: -

@naricc
Copy link
Member Author

naricc commented Nov 15, 2021

Also effecting these sets of benchmarks:

dotnet/perf-autofiling-issues#2195
dotnet/perf-autofiling-issues#2064

@naricc naricc added the runtime-mono specific to the Mono runtime label Nov 15, 2021
@sakno
Copy link
Contributor

sakno commented Nov 15, 2021

@naricc , see comment from @jeffhandley here: #60293.

@naricc
Copy link
Member Author

naricc commented Nov 30, 2021

@jeffhandley So it looks like the decision for CoreCLR was basically that this was an acceptable trade-off? I don't see any reason it should be acceptable in mono too, and will close the issue if that is the conclusion.

@SamMonoRT

@jeffhandley
Copy link
Member

From the CoreCLR side, yes, we did think these were acceptable trade-offs. We can close this. Thanks, @naricc.

@ghost ghost locked as resolved and limited conversation to collaborators Dec 30, 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.
Labels
area-System.Numerics runtime-mono specific to the Mono runtime
Projects
None yet
Development

No branches or pull requests

4 participants