matlab内置函数是用一些低级语言编写的吗?

时间:2012-10-04 18:32:39

标签: c++ matlab

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

3 个答案:

答案 0 :(得分:9)

是的,matlab通常使用以低级语言(通常为Fortran)编写的线性代数库例程的包装函数,例如BLASATLAS或{{ 1}}。

您可以在here

中详细了解相关信息

如果你很好奇功能包装成本(基本上没有),你还会看到this question。结果适用于LAPACKC++python,但我相信它们也适用于matlab。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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