Saya menggunakan Visual Studio 2010 SP1, Kerangka target adalah 2.0, Target platform: CPU apa pun, pengujian di bawah Windows 7 x64 SP1.
Saya mengalami perilaku kinerja yang aneh.
Tanpa app.config, atau dengan app.config berikut, itu membuat program saya berjalan lambat (Stopwatch menunjukkan ~0,11 detik)
<?xml version="1.0"?>
<configuration>
<startup >
<supportedRuntime version="v2.0.50727" />
</startup>
</configuration>
App.config berikut membuat program saya berjalan x5 kali lebih cepat (Stopwatch menunjukkan ~0,02 detik)
<?xml version="1.0"?>
<configuration>
<startup >
<supportedRuntime version="v4.0.30319" sku=".NETFramework,Version=v4.0" />
</startup>
</configuration>
Ini adalah kode program pengujian:
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
Stopwatch sw = new Stopwatch();
while (true)
{
sw.Reset();
sw.Start();
for (int i = 0; i < 1000000; i++ )
{
"blablabla".IndexOf("ngrhotbegmhroes", StringComparison.OrdinalIgnoreCase);
}
Console.WriteLine(sw.Elapsed);
}
}
}
Saya duduk berjam-jam dan tidak tahu apa yang terjadi di sini. Apakah kamu punya ide?