如果我正在搜索每个值的集合并运行代码,并且我希望在找到某个特定质量时打开布尔值,然后在运行代码时返回那个对象,运行一个条件来检查布尔值是否需要被关闭,还是在每个循环中简单地关闭布尔变得更快?多次检查条件与设置变量;低级优化
例如(伪代码):
bool found = false;
for(particle in literallyAHaystack) {
bool isNeedle = particle == "needle";
if(isNeedle) {
found = true;
}
// [some code that uses the 'found' variable]
if(isNeedle) {
found = false;
}
}
VS
bool found = false;
for(particle in literallyAHaystack) {
bool isNeedle = particle == "needle";
if(isNeedle) {
found = true;
}
// [some code that uses the 'found' variable]
found = false; // a conditional no longer surrounds this statement
}
我理解,这是非常低的水平,通常-无意义的优化,但我仍然有兴趣在真相的。我希望不要因为问题的微不足道而得罪任何人。
所以,呃...为什么你有'isNeedle'和'found'?他们似乎是多余的。 – user2357112
@ user2357112:我认为这个想法是想象'found'可能是由'if'内的某个东西来设置的,所以把整个东西写成嵌套的'if()'子句而没有布尔值来记录先前的检查结果将需要代码重复。 –