我正在开发一个性能敏感的应用程序,并考虑从 .NET 6 迁移到 .NET 7。
在比较这两个版本的过程中,我发现 .NET 7 在初始运行时执行 for 循环的速度较慢。
测试是使用两个具有相同代码的独立控制台应用程序完成的,一个在 .NET 6 上,另一个在 .NET 7 上,在任何 CPU 上以发布模式运行。
测试代码:
using System.Diagnostics;
int size = 1000000;
Stopwatch sw = new();
//create array
float[] arr = new float[size];
for (int i = 0; i < size; i++)
arr[i] = i;
Console.WriteLine(AppDomain.CurrentDomain.SetupInformation.TargetFrameworkName);
Console.WriteLine($"\nForLoop1");
ForLoop1();
ForLoop1();
ForLoop1();
ForLoop1();
ForLoop1();
Console.WriteLine($"\nForLoopArray");
ForLoopArray();
ForLoopArray();
ForLoopArray();
ForLoopArray();
ForLoopArray();
Console.WriteLine($"\nForLoop2");
ForLoop2();
ForLoop2();
ForLoop2();
ForLoop2();
ForLoop2();
void ForLoop1()
{
sw.Restart();
int sum = 0;
for (int …Run Code Online (Sandbox Code Playgroud)