我正在测试我们在 Matlab 中开发的一个独立应用程序时,我注意到它的内存使用量,根据 Windows 任务管理器,在 16gb 以上达到了数倍的峰值。我决定profile -memory on
在编译版本后面的脚本上运行 Matlab 的分析器,以使用完全相同的输入来查看内存峰值发生在哪里。然而,它发现的最高峰内存是 2400860.00 Kb,或者大约是该函数的 1/4,该函数基本上充当程序的main()
.
因此,我想知道人们是否注意到在运行已编译的 Matlab 程序和在 Matlab 中运行原始脚本之间存在巨大的内存使用差异。我注意到在 Matlab 中运行需要更长的时间,但我认为这是由于分析器跟踪所有内存分配和释放,而不是读取和写入磁盘上的交换空间。