我正在用 c# 编写蒙特卡洛模拟,并试图确保我编写的代码尽可能高效——我正在运行数十亿个循环并且事情变得越来越慢。我有一个关于Else
在循环中使用语句的问题。
我的问题是:这两种方法的性能有什么区别吗?在第一个中我使用 If-Else 语句,在第二个中我省略了 Else,因为 If 情况非常罕见。
编辑:假设我需要做的不仅仅是在满足条件时分配真/假,因此直接分配不是唯一需要做的事情。if-Else 方法的执行速度是否一样快?
//METHOD 1
...
for (int index = 0; index < 6; index++)
{
for (int x = 0; x < 50; x++)
{
for (int y = 0; y < 50; y++)
{
bool ThingWhichIsVeryRarelyTrue = SomeFunction(index,x,y);
if (ThingWhichIsVeryRarelyTrue)
{
BooleanAnswerArray[index][x][y] = true;
DoSomeOtherStuff();
}
else
{
BooleanAnswerArray[index][x][y] = false;
}
}
}
}
...
//METHOD 2
for (int index = 0; index < 6; index++)
{
for (int x = 0; x < 50; x++)
{
for (int y = 0; y < 50; y++)
{
BooleanAnswerArray[index][x][y] = false;
bool ThingWhichIsVeryRarelyTrue = SomeFunction(index,x,y);
if (ThingWhichIsVeryRarelyTrue)
{
BooleanAnswerArray[index][x][y] = true;
DoSomeOtherStuff();
}
}
}
}
...