C++相談室 Part3
■ このスレッドは過去ログ倉庫に格納されています
0405デフォルトの名無しさん
NGNG1 仮想関数にするのをやめる。仮想関数でなければ、オブジェクトのクラス名とメソッド名から、
呼び出すコードが一意に決まりますから vtbl 引きませんし、うまくいけばインライン化できま
す。コンパイル時に型が確定するのであれば、template を使う手もあります。
2 メンバ関数へのポインタを使う。
ただ、ほんとうにボトルネックはそこですか? 細工を始める前に本当に仮想関数呼び出しが
オーバーヘッドになっているのか、プロファイラを使って計測した方が良いです。細かい工夫で
数サイクル稼ぐより、アルゴリズムを工夫してメソッド呼び出し回数のオーダーを下げた方が
遥かに効果的です。
■ このスレッドは過去ログ倉庫に格納されています