>>821
確かに、除くことが確実に良いわけじゃないしな。
Debug.Printに副作用を持つ関数が含まれている。
たとえば、関数にフォームのCaptionを変える命令が含まれている場合。
Debug.Printを行うのと行わないのでは処理が違ってしまう。
こっちの方がパフォーマンスの問題なんてちっぽけだと思ってしまうほど重要。

最適化ってのは処理は変わらないから勝手に書き換えたりするわけだが、
Debug.Printのように処理が変わって勝手に取り除くのがまずい場合は、
取り除くかどうかは仕様によるとしかやりようがないだろう。

ちなみにDebug.Assertの方はコンパイルすると消えるという仕様だね。
で、コンパイルすると消えるようにしたい場合は条件付コンパイルを使うわけだ。