比較的大きなコード (ソースコードでおよそ1.2MB程度) を書いています.
これまで動的変数(メソッド内でint i; などのように宣言した組み込み型の
変数)を多用していたのですが,これらの多くをクラスのメンバ変数に変更
したところ,処理が非常に遅くなってしまいました.
処理速度が落ちる解釈として,
(1)動的変数はレジスタに割り当てられるのに対し,メンバ変数はヒープ領域に取られるから.
(2)メンバ変数へのアクセスは「クラスへの参照→メンバへの参照」のように参照段階が増えるから.
を考えておりますが,実際にはどちらのほうが効いているのでしょうか?
あるいは重要な別の原因が考えられるようでしたら,お教えください.
最適化のための参考にさせていただきたいと考えております.