Re: デバッグ文(可変引数マクロ)C99 仕様
河野真治 @ 琉球大学情報工学です。
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(機能と構成)
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735