河野真治 @ 琉球大学情報工学です。

In article <bfls2e$kej$1@bgsv5647.tk.mesh.ad.jp>, "tabe" <tabe@mug.biglobe.ne.jp> writes
>     #「最適化すると消えてなくなる・は・ず・」は無しで。
>             最適化しなくても、非DEBUG時に消えて欲しい。

最近、読んだ本 Writing Solid Code にも「assert を多用し、出
荷時には消す」みたいな話が載ってましたが、根本的に間違ってい
るんじゃないかな。

debug code が全体の10%を越えることは絶対にあり得ないです。
で、if 文で切れば、大半はbranch predictionに引っかかって、
全体のパフォーマンスには影響しないと思う。

ある程度の大きさのプログラムならば、「どうやってデバッグする
か」「どうやってテストするか」ってのを前もって考えるべきで、
そのhookとして、debug code があるべきなんじゃないかな。

たとえば GNU malloc なんかは、debug code (っていうのか?)
built-in ですよね。

---
Shinji KONO @ Information Engineering, University of the Ryukyus, 
              PRESTO, Japan Science and Technology Corporation
河野真治 @ 琉球大学工学部情報工学科, 
           科学技術振興事業団さきがけ研究21(機能と構成)