ひがやすを技術ブログ

電通国際情報サービスのプログラマ

Guice VS Spring VS Seasar2

id:arumaniさんのところでAOPをふくめたパフォーマンス比較がされてますね。


Spring: 1,734 creations/s
Guice: 35,161 creations/s
S2: 18,395 creations/s

Spring: 1,776 creations/s
Guice: 37,202 creations/s
S2: 19,394 creations/s

Spring: 1,783 creations/s
Guice: 36,764 creations/s
S2: 19,164 creations/s

数字が多いほどパフォーマンスが良いと考えてください。
S2がGuiceに負けているのは、たぶん、OGNLのオーバヘッドのせいです。Seasar2.3以降は、AutoRegisterやSMART deployがあり、OGNLはほとんど使われていない(OGNLが使われるのは設定ファイルを書いたとき)ので、実際の開発時にはもっとGuiceとの差は少なくなるのではないかと思います。
ただ、公平に比較するには、S2のAutoBindingをしない設定にする必要があります。
http://manhole.tdder.com/diary/20070312.html#p02のサンプルで

tee.setAutoBindingDef(AutoBindingDefFactory.NONE);
bar.setAutoBindingDef(AutoBindingDefFactory.NONE);
で試していただけるとありがたいです。arumaniさん。