我正在開發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的條件(黃色)斷點。 –