※ 引述《leicheong.bbs@bbs.sayya.org (理昌)》之銘言:
: 可是需要留意一點, 在VC系列的compiler, optimization預設是關閉的(/Od).
: 需要手動打開.
: 因為 (尤其是在寫多線程的程式時) 打開optimization會有一定機會出現
: 「平常跑時會出現可重複的問題, 而在debug模式中卻不會出現」這種
: 令人頭痛的情況. (Overoptimization)
: 好像部份gcc compiler也有這種情況. (我不太用gcc因此詳細情況不清楚)
: 這樣在討論時是否以沒有optimization下的情況來討論比較正當呢?
這和 complier 的預設沒有什麼關係, 和目的比較有關. 若只是在討論
程式的正確性, 使用 debug 模式是沒問題. 但若是在比較執行的速度,
比 debug (或 -g) 的程式就沒有意義,畢竟產生出來的 code 並不是以
效率為考量.
事實上, 真正的要比較速率, 除了使用 -O (或 /Od) 外, 正確的作法是還要
加上 profiling, 如此才能真正的反映最好的執行效率.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 69.236.127.197