私は新しいJuliaユーザーであり、できるだけ早く大きな行列の固有ベクトルを見つける必要があります。私はジュリアは、次の例のために早くMatlabのように実行するのに問題を抱えている:時間Julia vs. Matlabベンチマーキング固有ベクトル計算
ジュリア
const j = 1000 ::Int
A = Array{Float64}(j,j)
B = Array{Float64}(j,j)
f(x) = eigvecs(x)
A = randn(j,j)
B = f(A)
@time f(A)
出力:2.950973秒(12.31 Kの配分:76.445メガバイト、0.11%をGC時間)
Matlabの
J = 1000;
A = randn(j,j);
tic
[v, d] = eig(A);
toc
経過時間が1.161133秒です。
私はmaxNumCompThreads = 1を使用して比較する1つのスレッドでMatlabもチェックしましたが、これまでと同様の時間(1.16秒)を与えています。私はまた、プリコンパイルするために2回実行することによってJuliaをスピードアップしようとしました。また、blas_set_num_threads(4)も設定しましたが、これは役に立ちません。
私のジュリアコードを改善する方法についてのアドバイスは本当にありがたいです!
*(私はOSXエルキャピタン10.11.6にMatlabの2015bとジュリア0.4.7を使用しています)
[Eigendecompositionの数は、Juliaの方がMathematicaより5倍遅いですか?](http://stackoverflow.com/questions/21641621/eigendecompositions-are-5-times-slower-in-julia-than-in- mathematica) –
はい。他の質問をご覧ください。この問題は、MKLがOpenBLASよりも速いようです。 –