是否有可能避免在条件中出现许多 "或"(||)造成相同的动作? - 页 10

 
borilunad:
这个速度问题是打动我向尊敬的论坛成员提出 "如何避免大量的 "或"...... "的原因,因为我认为它造成了时间的损失。如果有些人因为他们的野心而被打动,进入论战,或坚持不懈地推动他们的发展,这仍然是他们的个人事务,与我无关。总之,感谢所有的回应者!我祝愿所有的人都能成功!
首先学习如何用大脑工作,你已经学会了如何用舌头工作。好运!
 
TarasBY:
首先学习如何用大脑工作,你已经学会了如何用舌头工作。好运!
令人遗憾的是,你们的文化,更不用说基本的伦理道德了,并没有远离你们的历史偶像塔拉斯-布尔巴!"。
 
按照我的理解--不会有任何结果。遗憾的是。虽然不需要花很长时间来做(如果有必要的话),但提供了很多选择
 
Vinin:
据我所知,不会有任何结果。遗憾的是。虽然不需要花很长时间来做(如果有必要的话),但提供了很多选择

在上一页,我向阿列克谢(Meat)报告了初步结果和我的解释,现在我把这些解释完整地告诉你们。

阿凡达
891
肉类 13.02.2013 20:36
borilunad

我测试了所有的建议,结果发现最快的是:如果(A || B || C || D)Action()。

我想知道如何能比这更快:如果(A)Action();否则如果(B)Action();否则如果(C)Action();否则如果(D)Action()。


947
borilunad 13.02.2013 22:46
肉类

我想知道如何能比这更快:如果(A)Action();否则如果(B)Action();否则如果(C)Action();否则如果(D)Action()。

对不起,阿列克谢,刚到家!这种变体并不合适,因为正如我在上面解释的那样,Acron();不仅仅是一个执行函数,而是包含了更多的条件,与之前的条件是共同的,但方向不同,相应地,执行必要的行动函数的顺序也不同。正如你所理解的,我无法用这种变体使代码更重。原则上我同意你的观点,如果Action();只是一个函数的调用,没有别的,你的版本可能会更快。非常感谢你对我寻找最佳解决方案的帮助!祝你晚安!
现在还不能添加任何东西,因为bool的还没有给出一个时间切面,我目前正在检查我使用的所有函数,而且,你可以想象,这样做需要很多时间。谢谢你的考虑!
 
原则上不是问题。我可以自己得到结果。数值结果
 
Vinin:
原则上说,这不是一个问题。我可以自己得到结果。数值结果

维克多,刚才我完成了对代码的清理,就像装修后的公寓一样,我清理了很多垃圾,比如不必要的条件,不必要的规范化,纠正了逻辑,减少了所用函数的数量。阿列克谢(alsu)用他的建议帮助了我很多,为此我很感谢他。结果在测试器中长达4个月的运行时间比2分钟长一些,我对它感到满意。而bool的功能原来是没有必要的,因为它们没有给我带来任何速度上的优势,但它们给了我一些使用它们的经验,以后会很有用。

我感谢所有参加比赛的人,并祝愿大家取得成功,获得好的收益!"。