四則演算の速度
前日のプログラムでは、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 |
PIR が Java に比べて、極端に遅くなりました。前日の例では、Java と PIR は1.4倍程度の差、今回は10倍以上となりました。
背景が見えてきました。前日の段階では PIR と Java の差は数値関数の実装の違いだと思っていたのですが、実際には全く逆で、汎用演算の差が見えていたのでした。Java の場合は、sin 関数が律速していたのですが、PIR の場合は汎用演算そのものが律速となっていたようです。