7

Python コードを最適化しようとしています。間:

y = x*x

また

y = x**2

速度が重要なプログラムで 1 兆回の反復が必要な場合、どちらを選択すればよいですか?

4

1 に答える 1

4

x**2よりも高速ですx*x

指数の実装には Python でのオーバーヘッドがあるため、通常は、O(n)乗算回数が少ないカスタム乗算を使用する方が高速です。x*x*x*x*xよりもはるかに高速ですx**5。指数時間は一種の定数です。指数パラメーターを使用すると乗算時間が増加するため、パラメーターが大きい場合は指数を使用することをお勧めします。ただし、パラメーターが非常に小さい場合 (この場合は 2)、指数は乗算よりも高速です。x**2は よりもはるかx*xx**3遅いですが、よりも高速ですx*x*xこの回答で優れたベンチマークを見つけることができます。

于 2013-12-25T21:10:48.463 に答える