Javaの性能に関する都市伝説

IBMdeveloperWorksに面白い記事が掲載されている.実際,大学院の講義で学生にレポートを書かせたりしても,「Java言語は遅い」と既存のメディアの記事を鵜呑みにした学生がいたりするし,企業の技術者や大学の先生にも,ちらほらまだ誤解している人も見受けられ,まさに「都市伝説」となっているのは痛切に感じる.

Javaの理論と実践: パフォーマンスに関する都市伝説を再検証する
http://www-06.ibm.com/jp/developerworks/java/051104/j_j-jtp09275.shtml

内容は,実は通常のmalloc/free型のメモリ管理よりも,現在のGCの方が早いこと,そしてついにJavaSE 6のビルドで導入されたエスケープ解析(オブジェクトをヒープではなく,スタック上に割り振る判断に必要な解析.メモリ割り当ての高速化だけでなく,キャッシュミスも減少できる)について.後者は昔から望まれていた最適化なのだが,ついに実現したかと思うと感慨深い.