まず測定プログラムについて簡単に解説します。
コンポーネントを大量に記述した設定ファイルを用意して、それぞれのコンテナを生成するのに掛かった時間を測定しました。設定ファイルとプログラムは次のようになります。コンポーネント数は、1,000個/2,000個/5,000個/10,000個の4ケースで測定しました。
設定ファイル(Seasar2)
<components>
<component name="nullBean00000" class="xxx.NullBean00000" />
<component name="nullBean00001" class="xxx.NullBean00001" />
:
プログラム(Seasar2)
long start = System.currentTimeMillis();
S2Container container = S2ContainerFactory.create("(設定ファイルへのパス)");
// container.init();
long end = System.currentTimeMillis();
// end - startを記録
設定ファイル(Spring)
<beans>
<bean name="nullBean00000" class="xxx.NullBean00000" />
<bean name="nullBean00001" class="xxx.NullBean00001" />
:
プログラム(Spring)
long start = System.currentTimeMillis();
BeanFactory factory = new XmlBeanFactory(new ClassPathResource("(設定ファイルへのパス)"));
long end = System.currentTimeMillis();
// end - startを記録
ご覧になるとわかりますが、DIやAOPは使用していません。それでは実際の結果を見てみましょう。
|