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

In article <bna4dl$1gob$1@maha2.doga.co.jp>, Masamichi Takatsu <taka2@doga.jp> writes
> というか、最近のCPUは賢いので、引数がレジスタ渡しにさえなっていれば
> サブルーチンコールのオーバーヘッドはほとんど無いって感じです。
In article <seznfrxneg.fsf_-_@astec.co.jp>,Takuya KUDO <kudo@astec.co.jp> writes
> いや、それがですね。実際、速度計測してみたんですけど
> レジスタウィンドウに入りきる量ならば inline 展開より
> 関数コールの方が速かったです。

この辺りの仮定が結構怪しいんだよな。その末端の関数だけじゃなくてそこまでの
過程で呼ばれた関数の履歴が関係するんだよね。

浮動小数点とかはレジスタとかウインドに乗らないし、使っているレジスタの
待避とかもあるし。引き数渡しに使ったレジスタは必ず待避が必要ですよね。

単純にinlineにしたから速くなるってことは、もちろんないんだけど。
関数呼び出しのオーバヘッドがないってわけでもないです。

---
Shinji KONO @ Information Engineering, University of the Ryukyus, 
河野真治 @ 琉球大学工学部情報工学科,