Arm64 performance improvements in .NET 7

Click for: original source

The .NET team has continued improving performance in .NET 7, both generally and for Arm64. Following along the lines of ARM64 Performance in .NET 5, in this post author will describe the performance improvements the team made for Arm64 in .NET 7 and the positive impact it had on various benchmarks. By Kunal Pathak.

The instruction set architecture or the ISA of x64 and Arm64 is different for each one of them and this difference is always surfaced in the form of performance numbers. While this difference exists between the two platforms, team wanted to understand how performant .NET is when running on Arm64 platforms compared to x64, and what can be done to improve its efficiency.

In the article the following were some of the benchmarks that author finalized for his investigations:

  • BenchmarkGames
  • Bing.com
  • ImageSharp
  • Paint.NET
  • Micro benchmarks
  • Runtime improvements
    • L3 cache size
    • Thread pool scaling
    • LSE atomics

… and more. To conclude, .NET 7 release contains lots of improvements made in various areas from libraries to runtime, to code generation. The .NET team closed the performance gap between x64 and Arm64 on specific hardware. Nice one!

[Read More]

Tags programming performance apis azure