Python コードを最適化しようとしています。間:
y = x*x
また
y = x**2
速度が重要なプログラムで 1 兆回の反復が必要な場合、どちらを選択すればよいですか?
Python コードを最適化しようとしています。間:
y = x*x
また
y = x**2
速度が重要なプログラムで 1 兆回の反復が必要な場合、どちらを選択すればよいですか?
x**2
よりも高速ですx*x
。
指数の実装には Python でのオーバーヘッドがあるため、通常は、O(n)
乗算回数が少ないカスタム乗算を使用する方が高速です。x*x*x*x*x
よりもはるかに高速ですx**5
。指数時間は一種の定数です。指数パラメーターを使用すると乗算時間が増加するため、パラメーターが大きい場合は指数を使用することをお勧めします。ただし、パラメーターが非常に小さい場合 (この場合は 2)、指数は乗算よりも高速です。x**2
は よりもはるかx*x
にx**3
遅いですが、よりも高速ですx*x*x
。この回答で優れたベンチマークを見つけることができます。