GlassFishのホットデプロイ時間をみてみる
EJBの嫌われている点として、デプロイ時間があります。アプリケーションサーバの実装によるのですが、数が増えるととてつもなく遅くなってしまう場合もあります。
GlassFishのホットデプロイはかなり速い感じではありますが、EJBの数を増やすとどう変化するかみてみました。ビジネスメソッドが1つかしかないHelloService.javaを1〜1000までコピーしてみたところ、以下のような結果になりました。
EJBの数 | ホットデプロイ時間 |
---|---|
1 | 264ms |
2 | 276ms |
10 | 378ms |
50 | 958ms |
100 | 1,607ms |
1000 | 18,208ms |
やはり数に比例してデプロイ時間は増えますね。Seasar2のようなサクサク開発を目指すには、ホットデプロイ対象のパッケージを絞るといったことができないと無理かなぁ。
あと、気になる点として、EJBでなくてCDI(WebBeans)でSimpleBeanにした場合のデプロイ時間。SimpleBeanの方が軽かったりして。そうなるとEJB使う機会は少なくなりそう。CDIはまた別の機会に試してみます。