我制作了一个小型测试程序,可以增加并增加1000万个数字。使用浮动它总是需要51毫秒。使用double时,编译之间需要210到3310ms(3310ms只发生在每10次编辑中)。这是怎么回事?
private void button1_Click(object sender, RoutedEventArgs e)
{
DateTime now = DateTime.Now;
testCalc(1f,2f,3f);
System.Diagnostics.Debug.Print((DateTime.Now-now).TotalMilliseconds.ToString());
now = DateTime.Now;
testCalcDouble(1, 2, 3);
System.Diagnostics.Debug.Print((DateTime.Now - now).TotalMilliseconds.ToString());
}
private void testCalc(float a, float b, float c)
{
for (int i = 0; i < 10000000; i++)
{
a++;
c--;
float d = (a + b) * c;
}
}
private void testCalcDouble(double a, double b, double c)
{
for (int i = 0; i < 10000000; i++)
{
a++;
c--;
double d = (a + b) * c;
}
}
答案 0 :(得分:0)
问题已关闭:仅在调试器中运行时才会发生