とりあえずなんか書いとけ

Python3系とかアイワナ(GM8.1 Standard)とか読書とか

numpy.ndarray.copy()が遅かったという話

作成しているプログラムの実行が遅かったのでcProfileを使って調べてみました.

その結果,実行時間の3分の2程度をnumpy.ndarray.copy()が占めていたので代わりの方法を書いておきます.


こんな感じのコードを

def hoge(num, array):
    for i in range(num):
        tmp = array.copy()

こうすることでかなり早くなりました.

def hoge(num, array):
    tmp = array.copy()
    for i in range(num):
        tmp[...] = array

オブジェクトのコピーをしなくなるから早いとかなのかな.