Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
为了提高Matlab程序的实时性,我安装了Windows 7(64位)和64位Matlab。并且我已经安装在硬盘分区上。不幸的是,我震惊地发现使用64位Matlab程序的执行时间更长。我不知道出什么问题了。知道我有一个核心2 Quad处理器和3GB RAM。
回答: 通常,64位不会使代码更快。它只是让您访问更多内存。您的代码只有在32位进程中受内存限制时才会加速。在Matlab中,这通常会导致内存不足错误,而不是速度降低。而且由于您只有3 GB,因此您可能没有达到4 GB的32位限制。因此,您可能不应该期望加速。不过,经济放缓令人惊讶。 您是否正在使用面向对象的Matlab,尤其是旧的(MCOS之前的)样式? Windows上的64位Matlab中存在一个已知的错误,该错误会增加方法分派的开销。 OO代码在64位Matlab中的运行将比32位Matlab的慢,并且随着方法调用密度的增加,其运行速度也会增加。在我的代码库(大量面向对象)中,它的速度下降了2倍。那就是您所看到的规模。 请参阅MATLAB OOP速度慢还是我做错了什么? 。 (在此进行了切线讨论。) 您仍然可以在64位Windows上运行32位Matlab。 (尽管没有得到正式的支持。)这种安排不会受到方法分派速度的影响,而且它获得了4 GB的虚拟内存,而不是32位操作系统下的2 GB。 (仅在具有> = 4GB RAM的情况下才有用。)如果32位确实在同一台计算机上运行得更快,则应将其作为错误报告给MathWorks;否则,请向MathWorks报告。提及它的用户越多,修复它的可能性就越大。 更多&回答... |
![]() |
![]() |