値のリストを作成するために、次の for ループがあります。
p = 7
A = []
for i in range(0, 10**p):
A.append(i**3 + i**2)
リストの作成を高速化するために、ベクトル化されたアプローチを使用してリストを Numpy 配列として作成しました。p
このアプローチは、特に範囲が拡大する大きな値の場合、同等の for ループよりもはるかに高速です。
import numpy as np
from numba import autojit
p = 7
m = np.arange(0, 10**p)
D = np.empty(len(m))
D = m**3 + m**2
配列の作成をさらに高速化するために、Numba パッケージを使用しようと考えました。以下は私の現在の試みです。
@autojit
def func(a):
a = np.asarray(a)
n = np.arange(0, 10**p)
a = np.append(a, n**3 + n**2)
return a
e = []
E = func(e)
残念ながら、Numba を使用した場合のパフォーマンスの向上は見られません。これは、Numpy のみを使用したベクトル化アプローチよりもほぼ 3 倍遅くなります。
これにNumbaを使用する方法に関する提案はありますか?