我正在开发MATLAB中的组合优化算法,我有一堆条件语句,基本上只检查标志,当设置为true时将打印某些变量的值或显示系统当前进度或状态的数字如果出现问题,我可以看到发生了什么,或者我需要检查它。调试条件语句有多昂贵?
我只是想知道这些条件语句实际上是多么昂贵的东西的计划?
我通常不会担心它,但是代码中有不少它们,整个事件对于大型问题实例每次运行执行大约20-50,000次,因此可能至少有一百万次额外每次运行的“if”语句在评估为false时都必须有一些开销。
还是他们只是如此之快,它并不重要?有时运行可能需要40秒到1分钟的时间。所以我认为这只是其中的一小部分。
我应该将它们注释掉而不是使用标志变量吗?
为什么不[profile你的代码](http://www.mathworks.com/help/matlab/matlab_prog/profiling-for-improving-performance.html)并发布你的结论?在我的_opinion_中,在大多数情况下,假设你检查的条件不是计算量大的(在这种情况下,你可以使用'||'和''' &&'运营商的短路行为,以检查一些更容易计算的条件,以避免“主要”)。还要考虑MATLAB的条件(黄色)断点。 –