Webアプリケーションの動的な再読み込みの遅さ

Railsブームもひと段落したところで、去年Railsを使った開発を経験した人もいくらかいると思う。
ソースコードの変更をサーバ起動中でも即座に反映されるなど、
高い生産性が注目されて、どれだけ楽できるのか期待が大きかった。
エンタープライズな現場で、実際に使ってみてどうだったか。


アプリケーションの規模が小さいときはよかった。
だんだんコンポーネント(クラス数)が増えてくると、リクエスト毎に
ソースコードの変更を再認識させるためのリロード処理が遅い。
Railsアプリは最後には、1画面遷移で15秒以上かかるようになってしまった。
不具合の再現を確認するために、
ログイン->トップページ->機能ページ1->機能ページ2->機能ページ3
と表示させるだけで1分15秒以上かかる。
不具合が再現するか確認するだけでもとても時間がかかるし、追加開発の生産性も
落ちてしまってなんだか悲しい結果となってしまった。


Seasar2のHotDeployも同じだ。
毎リクエストで行われるコンポーネントの再登録に時間がかかる。
Web層(Action)が依存しているコンポーネントが子、孫まで合わせて全部で100くらいあると、
1回の画面遷移で行われる再登録処理に30秒くらいかかってしまう。


とはいえ、コンポーネントを追加/修正するたびに
サーバを再起動するのはイヤである。


Railsのクラスのリロード(Constの削除?)、SeasarのHotDeployをMANUALで実施できれば
いいのにと思ってしまう。
ローカルにおいているファイルのタイムスタンプが更新されている場合にだけ
リロードしたりとか、JavaならJMXでリロードをInvokeしたりできないかなぁ。


だれか実装して〜。
んん〜これくらいなら自分でできるかも、ちょっとソースコードみてみるかなぁ。