雨谷の日和

過去20年で2,700を超えるアニメの第1話だけは見続けた僕のお勧めアニメがハズレなはずがない

JavaとCとの性能比較(ファイル出力処理)Solaris版

2004.03.27付の「JavaとCとの性能比較(ファイル出力処理)」での結果はWindowsXPでの結果だった。
今回、それと同じものをSolarisを借りて実行することが出来たので、その結果を掲載する。

UltraSPARC3:1.2GHz
Solaris8(EUCJP)
gcc2.95.3
JDK1.4
Java
最適化
最適化
最適化
最適化
(*3)
Encode
Encode
Encode
Encode
出力
(*2)
バッファ無 1371372561024(*1)23069(*1)
バッファ有 66479441544
※単位はいずれも[sec]

(*1)Encoding処理の内部バッファが有るので、正確にはバッファ無ではない。

(*2)Cの出力関数としてはfputsを用いた。
(*3)Javaの最適化はHotSpot(実行時最適化)。


Windowsという差もあるが、gccのバージョンも違っている。
リリースの日付としては2001年3月くらいのようだ。かなり古いものだが、借りている環境に新しいものを勝手に入れるわけにも行かなかったので、このままで実行した。
結果としては、Cの方がJavaよりもかなり高速という感じである。
SolarisでのJavaの最適化が不十分なのか、Cの最適化が非常に優れているのかのどちらかは分からないし、OSとしてのどういった違いがあるのかも分からないが、実測としてこういう結果になるのは確かのようだ。