読者です 読者をやめる 読者になる 読者になる

餡子付゛録゛

ソフトウェア開発ツールの便利な使い方を紹介。

なるほど、VelocityよりJSP+ELは遅い・・・ところでJSPだけのベンチマークは?

ベンチマークも無しに遅いと主張されても論拠が薄いと批判したところ、id:kwatchさんがVelocityとJSP+ELのベンチマークを作ってくれました。ご苦労様です。
なるほど、VelocityよりJSP+ELは遅いと言う事ですね。これで他のテンプレート > Velocity > JSP+ELという実行速度になりそうだという主張が、id:kwatchさんのブログのエントリが公開されて1年近く経って、ようやく成り立ちつつあります。テンプレート・エンジンのTenjinのサイトのベンチマークを引用しているので信憑性はまだ疑われそうですが、他のテンプレート・エンジンを用いたベンチマークを多数用意するのは骨が折れるでしょう。
しかし、EL無しのJSPベンチマークが他の言語のテンプレート・エンジンと比較して遅いと言うわけでも無さそうです。id:kwatchさんのJSPが遅いという主張は、ELを用いていた場合だという条件をつけないと、なかなか賛成してもらえないでしょうね
なぜかと言うと、旧態依然のJSPStrutsタグ、もしくはJSPタグを使う方がまだ人気だからです。また、Tomcat 7でもELを使わないサンプル・コードが依然として配布されています。

id:kwatchさんのコメントへの返事

前のエントリーにコメントをもらったので、こちらで返事をしてみます。

それで、『JSPでELを使う事が当然なら、Javaの文字列に+演算子を使うのも当然と言われても仕方が無い気もします』というのはなぜなんでしょうか。

二つ理由があります。

id:kwatchさんのように、ソースコードベンチマークも明示せず、しかもJSP内でELを用いている事を最初に前提として説明しない状態でJSPは遅いと宣言すれば、Javaの代表的なボトルネックである連結演算子を大量に使った恣意的なコードを実行していると疑われても仕方が無いです。
その疑いに対して上のように書かれていたようなので、多少は皮肉こめて書きました。