Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Matlabの組み込み関数が、自分で作成した関数よりもはるかに高速なのはなぜですか?
はい、同様に、通常、、、などmatlabの低水準言語(通常はFortran)で記述された線形代数ライブラリルーチンのラッパー関数を使用します。BLASATLASLAPACK
matlab
Fortran
BLAS
ATLAS
LAPACK
あなたはここでこれについてもっと読むことができます
関数のラッピングコストにどれだけのオーバーヘッドがあるか(基本的にはなし)に興味がある場合も、この質問を参照してください。結果はのためC++のものですが、MATLABにも適用されると思いますpython。numpy
C++
python
numpy
つまり、ネイティブコード(C / C ++)で記述されるため、開発者はデータのアセンブラー最適化にアクセスでき、SSEなどを使用してCPU内の操作を並列化することもできます。
はい、おそらくこれらの行列関数はC、C ++、さらにはアセンブリで記述されています。CおよびC++コードは、SSE(Intelから)のようなSIMD(単一命令複数データ)プロセスを利用することもできます。