Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 为什么我的情况是Matlab 64位更长?

为了提高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报告。提及它的用户越多,修复它的可能性就越大。



更多&回答...
poster 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 01:08


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.