■
今日の実験結果。
手短にできる実行速度向上作戦。
造語「like a Singleton」
staticでもいいようなユーティリティクラスの中で
呼ぶ他のクラスのインスタンス生成。
メソッドが実行されるたびにインスタンス生成するよりは、
クラスが生きている間だけでもインスタンス変数に保持する形がよかった。
サンプルはこんな感じ。
<その1>
public int hogehoge(){
Calendar cal = new GregorianCalendar();
return cal.get( cal.YEAR );
}
<その2>
private calendar_;
public int hogehoge(){
Calendar cal = createNewCalendar();
return cal.get( cal.YEAR );
}
private GregorianCalendar createNewCalendar(){
if( calendar_ == null ){
calendar_ = new GregorianCalendar();
}
return calendar_;
}
10万回くらいループをまわしたら、
その1:9〜10秒
その2:1〜2秒
という結果が得られた。カレンダーでは如実である。
その他の自社パッケージのクラスについても
多少なりとも差が見られたのでよしとしよう。
実験たのし〜≡≡ヘ( ´∀`)ノ