Javaは遅くない!

実行速度などが気になるプログラムはC言語で書くことが思います。しかし、多くの場合、現実的にはほとんどの部分は実行速度よりもプログラミングの しやすさなどの方が重要で、実行速度が気になる部分はごく一部だと思います。そのためどの言語でも使いやすいライブラリのようなものが存在していると思い ます。

ところでJavaを使ってプログラムを書くとJavaはバイトコードを実行するので実行速度的には不利だというイメージがありますが、このイメージ があること自体が時代遅れなのかもしれませんが、gcjというgccのJavaのネイティブコンパイラがあり、Javaで書いても実行時間が気になるとき だけgcjでコンパイルすればいいのではと思い至りました。

しかし、調べてみると、そもそもJavaの実行はネイティブコンパイルした場合に負けないくらい速いようです。古い資料ですが、こちらに非常に詳細な記事があります。古いというのは逆に言えばこの時点で既にJavaが遅いという考えは時代遅れだったようです。JITコンパイラがこんなにも性能が高いとは知りませんでした。

Fedora 10にはgccもgcjもjavacも入っていますが、ちょっとしたプログラムを書くときには実行速度などは気にせずjavacでコンパイルすればいいということになります。