2009/07/24

コード・インストルメンテーション(コード挿入)

パフォーマンスチューニングの本を読んでいたら"code instrumentation"というあまり聞かない言葉が出てきたのでちょっと調べてみた。まずGoogleで

 define:code instrumentation


を実行してみたところ、ヒット件数ゼロ。次に

 define:instrumentation

で調べると、音楽用語とかに混ざってちゃんと目的のものにいくつかヒットした。ざっと見てみた中では、Living Glossaryというところの説明が簡潔でわかりやすかった。

instrumentation - プログラム実行中のふるまいに関する情報を収集するため、追加のコードをプログラム中に挿入すること。

wikiはもう少し詳しく説明していて、性能測定、不良診断、ログ・トレース出力などで使われる手法といったことまで書かれている。

要するに、プロファイラなんかは自動でこれをやっているわけで、そのほかに開発者が手作業で入れることもある。

もう少しいろいろ調べてみると、そのものずばり、"Instrumentation"というブログ記事を見つけた。インストルメンテーションをいやがるプログラマは多いが、何の手がかりもなくトランザクションの性能を改善しようとしても無理な話であり、パフォーマンスを診断する上でインストルメンテーションは必須である、と説いている。

ちなみに中国語では、重构または代码插入と言うらしい。ただし、重构refactoringの意味でも使われているので、ちょっと紛らわしい。
 

0 件のコメント: