Javaと聞くと、遅くね?と拒否反応を示す人は多いはず。就職して以降、弊社の戦略的事情から(本当だろうか)もっぱらプログラムはJavaで書いています。Javaは適当に遊んでいた程度でしたが、だいぶ慣れてきました。チューニング的な意味で。最近、大規模データや構造化データを扱うことが増えたので、ちょっと気を抜くと動かなくなります。同じインターフェースで5回くらい実装し直すのはざらです。 さて、Javaはインタプリタだから遅いと思われがちですが、本当でしょうか。最近の経験を鑑みるに、JIT最適化はかなりがんばっているという印象を受けます。経験的に(CPU実験の)、もっとも効く最適化の一つはインライン展開(とそれに伴う定数伝搬など)なんですが、そちらは実はだいぶがんばっているように思います。遅い原因は、そこではなくてメモリ馬鹿食いから来るキャッシュミスと、それに伴う速度低下が原因の用に思います。J