たくさんの質問をしてすみません。Intel Core2DuoでMacOSX10.6を実行しています。私は自分の研究のためにいくつかのベンチマークを実行していますが、私を困惑させる別のことに遭遇しました。
私が走ったら
python -mtimeit -s 'import numpy as np; a = np.random.randn(1e3,1e3)' 'np.dot(a,a)'
次の出力が得られます。10 loops, best of 3: 142 msec per loop
しかし、私が実行した場合
python -mtimeit -s 'import numpy as np; a = np.random.randint(10,size=1e6).reshape(1e3,1e3)' 'np.dot(a,a)'
次の出力が得られます。10 loops, best of 3: 7.57 sec per loop
それから私は走った
python -mtimeit -s 'import numpy as np; a = np.random.randn(1e3,1e3)' 'a*a'
その後
python -mtimeit -s 'import numpy as np; a = np.random.randint(10,size=1e6).reshape(1e3,1e3)' 'a*a'
どちらもループあたり約7.6ミリ秒で実行されたため、乗算ではありません。追加の速度も同様だったので、どちらも内積に影響を与えないはずですよね?では、floatを使用するよりもintを使用してドット積を計算する方が50倍以上遅いのはなぜですか?