今日友達と飯を食っていて、俺が「CよりJavaのほうが速い場合がある」と言ったら友達が信じられない、という反応を示した。俺も「どっかでそんなことが聞いたことあるな」レベルで喋っていたので「どういう場合に速いのか」は説明できなかった。たしか、どっかにそういう話があったはず・・、ということで寝る前に少しだけググってみたら以下を発見。 http://www.idiom.com/~zilla/Computer/javaCbenchmark.html この論文で以下のよーなことを主張している(意訳。あやしい)。 ポインタによって最適化が難しくなる場合 「Cコード中に変数xを指すポインタpが定義されている場合、Cコンパイラはxの値をレジスタに格納できないので、キャッシュに保持して必要なときに読み込むようにする必要がある。一方でJavaだとポインタがないから変数は必ずレジスタに格納される。Cだとキャッシ