6

为什么 Matlab 中的内置函数比您自己编写的函数快得多?

4

3 回答 3

10

是的,matlab类似的人通常将包装函数用于以低级语言(通常Fortran)编写的线性代数库例程,例如BLAS,ATLASLAPACK.

您可以在此处阅读有关此内容的更多信息

如果您好奇函数包装成本有多少开销(基本上没有),也可以看看这个问题。结果适用于C++pythonnumpy我相信它们也适用于 matlab。

于 2012-10-04T18:37:06.480 回答
1

简而言之,因为它们将用本机代码 (C/C++) 编写,因此允许开发人员访问对数据的汇编程序优化,以及使用 SSE 和类似的能力来尝试和并行化 CPU 内的操作。

于 2012-10-04T18:36:40.783 回答
1

是的,这些矩阵函数很可能是用 C、C++ 甚至汇编编写的。C 和 C++ 代码甚至可以利用 SIMD(单指令多数据)过程,如 SSE(来自英特尔)。

于 2012-10-04T18:37:19.273 回答