我必须在matlab中做一些计算。它已经在m文件中实现,但运行速度很慢,因为有很多循环。我们的想法是编译本机代码并在matlab中使用此代码。
现在我有两种可能性:
在第一种情况下,matlab执行与本机数据类型等的接口,在后一种情况下,我必须自己完成。现在的问题是:什么是更快/更好?我可以做到这两点,但我希望获得尽可能多的速度。
由于
答案 0 :(得分:2)
我认为在使用MEX文件时,加载时间和函数调用开销通常会有小幅改善,但如果相对于执行的计算调用次数较少,则性能总体上存在差异可能不是那么好。
然而,使用MEX文件可能会导致更透明,可读和可维护的代码,因为该函数看起来好像是一个本机MATLAB命令。我认为除非性能是最重要的要求,否则这种考虑至少与速度一样重要。