我注意到我的c#app有点不寻常.我第一次执行某些代码比后续执行需要更长的时间.任何人都可以向我解释为什么会这样吗?
通过我下面的简单测试应用程序甚至可以看到它的初始输出大约为13,后续输出大约为3.
Stopwatch sw;
int count = 0;
private void Window_KeyUp(object sender, KeyEventArgs e)
{
RunTest();
}
private void RunTest()
{
sw = Stopwatch.StartNew();
count = 0;
for (int i = 0; i < 100; i++)
{
count++;
}
Console.WriteLine(sw.ElapsedTicks);
}
Run Code Online (Sandbox Code Playgroud)
Ser*_*rvy 11
第一次执行包括Just In Time(JIT)编译器将代码从Microsoft的中间语言(MSIL)转换为您运行代码的任何机器的本机可执行机器代码所花费的时间.
所有后续调用都将重用已编译的代码.
| 归档时间: |
|
| 查看次数: |
1306 次 |
| 最近记录: |