読者です 読者をやめる 読者になる 読者になる

四則演算の速度

前日のプログラムでは、sin 関数が律速となる可能性がありました(特にCとJava)。四則演算だけにするために、被積分関数を x^3 にして計算時間を比較しました。ループ関数は同じく1億回です。

言語 時間(秒)
C 1.119 1
Perl 181.9 162
PHP 94.71 84.6
Java 1.359 1.21
PIR 15.39 13.8

PIRJava に比べて、極端に遅くなりました。前日の例では、JavaPIR は1.4倍程度の差、今回は10倍以上となりました。

背景が見えてきました。前日の段階では PIRJava の差は数値関数の実装の違いだと思っていたのですが、実際には全く逆で、汎用演算の差が見えていたのでした。Java の場合は、sin 関数が律速していたのですが、PIR の場合は汎用演算そのものが律速となっていたようです。