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

.NET 7.0 Preview 1 Microbenchmarks Performance Study Report #65200

Closed
4 of 13 tasks
adamsitnik opened this issue Feb 11, 2022 · 4 comments
Closed
4 of 13 tasks

.NET 7.0 Preview 1 Microbenchmarks Performance Study Report #65200

adamsitnik opened this issue Feb 11, 2022 · 4 comments
Labels
area-Meta tenet-performance Performance related issue tracking This issue is tracking the completion of other related issues.
Milestone

Comments

@adamsitnik
Copy link
Member

adamsitnik commented Feb 11, 2022

Data

This time we have covered following configs:

  • architectures: x64, x86, arm64, arm
  • Unix: Alpine 3.13, CentOS 7, Ubuntu 18.04, Ubuntu 20.04, macOS 11.4, macOS 11.6.3
  • Windows: 10 & 11

ARM64 results are not 100% complete because we have hit two ARM bugs: #64657 (AV) and #64980 (hang).

Operating System Bit Processor Name
Windows 11 X64 AMD Ryzen Threadripper PRO 3945WX 12-Cores
Windows 11 X64 AMD Ryzen 9 5900X
Windows 10 X64 Intel Xeon CPU E5-1650 v4 3.60GHz
Windows 11 X64 Intel Core i5-4300U CPU 1.90GHz (Haswell)
Windows 10 X64 Intel Core i7-7700 CPU 3.60GHz (Kaby Lake)
Windows 11 X64 Intel Core i7-8700 CPU 3.20GHz (Coffee Lake)
Windows 11 X64 Intel Core i9-9900T CPU 2.10GHz
Windows 11 X64 Unknown processor
ubuntu 20.04 X64 AMD Ryzen 9 5900X
ubuntu 18.04 X64 Intel Xeon CPU E5-1650 v4 3.60GHz
centos 7 X64 Intel Xeon CPU E5530 2.40GHz
ubuntu 18.04 X64 Intel Core i7-2720QM CPU 2.20GHz (Sandy Bridge)
alpine 3.13 X64 Intel Core i7-7700 CPU 3.60GHz (Kaby Lake)
ubuntu 18.04 X64 Intel Core i7-7700 CPU 3.60GHz (Kaby Lake)
ubuntu 20.04 X64 Intel Core i7-7700 CPU 3.60GHz (Kaby Lake)
ubuntu 20.04 X64 Intel Core i7-8700 CPU 3.20GHz (Coffee Lake)
ubuntu 20.04 Arm64 Unknown processor
Windows 10 Arm64 Microsoft SQ1 3.0 GHz
Windows 11 Arm64 Microsoft SQ1 3.0 GHz
Windows 10 X86 Intel Xeon CPU E5-1650 v4 3.60GHz
Windows 10 Arm Microsoft SQ1 3.0 GHz
macOS Big Sur 11.6.3 X64 Intel Core i5-4278U CPU 2.60GHz (Haswell)
macOS Big Sur 11.4 X64 Intel Core i7-5557U CPU 3.10GHz (Broadwell)

Most of the benchmarks were run on bare-metal machines, some were executed via WSL.

This would not be possible without the help from: @AndyAyersMS @carlossanlop @danmoseley @jeffhandley and @janvorli who contributed their results and time.

The full report generated by the tool is available here. The full report contains also improvements, so if you read it from the end you can see the biggest perf improvements. There are plenty of them!

Again, the full historical data turned out to be extremely useful. For details about methodology please read #41871.

Regressions

By design

Investigation in progress

Fixed in the meantime

  • System.Text.Json.Tests.Perf_Ctor.Ctor(Formatted: False, SkipValidation: False)
    • was there when we started the manual runs, bot got fixed very recently
  • System.Text.Json.Tests.Perf_Base64.WriteByteArrayAsBase64_NoEscaping(NumberOfBytes: 100)
    • was there when we started the manual runs, bot got fixed recently

Noise, flaky or multimodal

The following benchmarks showed up in the report generated by the tool, but were not actual regressions:

Big thanks to everyone involved!

@adamsitnik adamsitnik added area-Meta tenet-performance Performance related issue tracking This issue is tracking the completion of other related issues. labels Feb 11, 2022
@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Feb 11, 2022
@ghost
Copy link

ghost commented Feb 11, 2022

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

Issue Details

Data

This time we have covered following configs:

  • architectures: x64, x86, arm64, arm
  • Unix: Alpine 3.13, CentOS 7, Ubuntu 18.04, Ubuntu 20.04, macOS 11.4, macOS 11.6.3
  • Windows: 10 & 11

ARM64 results are not 100% complete because we have hit two ARM bugs: #64657 (AV) and #64980 (hang).

Operating System Bit Processor Name
Windows 11 X64 AMD Ryzen Threadripper PRO 3945WX 12-Cores
Windows 11 X64 AMD Ryzen 9 5900X
Windows 10 X64 Intel Xeon CPU E5-1650 v4 3.60GHz
Windows 11 X64 Intel Core i5-4300U CPU 1.90GHz (Haswell)
Windows 10 X64 Intel Core i7-7700 CPU 3.60GHz (Kaby Lake)
Windows 11 X64 Intel Core i7-8700 CPU 3.20GHz (Coffee Lake)
Windows 11 X64 Intel Core i9-9900T CPU 2.10GHz
Windows 11 X64 Unknown processor
ubuntu 20.04 X64 AMD Ryzen 9 5900X
ubuntu 18.04 X64 Intel Xeon CPU E5-1650 v4 3.60GHz
centos 7 X64 Intel Xeon CPU E5530 2.40GHz
ubuntu 18.04 X64 Intel Core i7-2720QM CPU 2.20GHz (Sandy Bridge)
alpine 3.13 X64 Intel Core i7-7700 CPU 3.60GHz (Kaby Lake)
ubuntu 18.04 X64 Intel Core i7-7700 CPU 3.60GHz (Kaby Lake)
ubuntu 20.04 X64 Intel Core i7-7700 CPU 3.60GHz (Kaby Lake)
ubuntu 20.04 X64 Intel Core i7-8700 CPU 3.20GHz (Coffee Lake)
ubuntu 20.04 Arm64 Unknown processor
Windows 10 Arm64 Microsoft SQ1 3.0 GHz
Windows 11 Arm64 Microsoft SQ1 3.0 GHz
Windows 10 X86 Intel Xeon CPU E5-1650 v4 3.60GHz
Windows 10 Arm Microsoft SQ1 3.0 GHz
macOS Big Sur 11.6.3 X64 Intel Core i5-4278U CPU 2.60GHz (Haswell)
macOS Big Sur 11.4 X64 Intel Core i7-5557U CPU 3.10GHz (Broadwell)

Most of the benchmarks were run on bare-metal machines, some were executed via WSL.

This would not be possible without the help from: @AndyAyersMS @carlossanlop @danmoseley @jeffhandley and @janvorli who contributed their results and time.

The full report generated by the tool is available here. The full report contains also improvements, so if you read it from the end you can see the biggest perf improvements. There are plenty of them!

Again, the full historical data turned out to be extremely useful. For details about methodology please read #41871.

Regressions

By design

Investigation in progress

Fixed in the meantime

  • System.Text.Json.Tests.Perf_Ctor.Ctor(Formatted: False, SkipValidation: False)
    • was there when we started the manual runs, bot got fixed very recently
  • System.Text.Json.Tests.Perf_Base64.WriteByteArrayAsBase64_NoEscaping(NumberOfBytes: 100)
    • was there when we started the manual runs, bot got fixed recently

Noise, flaky or multimodal

The following benchmarks showed up in the report generated by the tool, but were not actual regressions:

Big thanks to everyone involved!

Author: adamsitnik
Assignees: -
Labels:

area-Meta, tenet-performance, tracking

Milestone: -

@adamsitnik
Copy link
Member Author

Is there a report with improvements?

You can read the full report from the end ;)

@EgorBo
Copy link
Member

EgorBo commented Feb 11, 2022

Is there a report with improvements?

You can read the full report from the end ;)

Yeah, I removed the comment because I've realized that 🙂. I think we've made a lot of progress for ARM so I'd be curious to see that, I hope we'll be able to do it for P2

@danmoseley
Copy link
Member

Great - thanks for doing this @adamsitnik . @kunalspathak @DrewScoggins and other perf v-team folks -- I assume we'll look into why some of these were apparently missed by the regular system?

@jeffhandley jeffhandley added this to the 7.0.0 milestone Feb 17, 2022
@jeffhandley jeffhandley removed the untriaged New issue has not been triaged by the area owner label Feb 17, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Apr 17, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Meta tenet-performance Performance related issue tracking This issue is tracking the completion of other related issues.
Projects
None yet
Development

No branches or pull requests

4 participants