文件交换的选择

我们最好的用户提交

我们的开发人员如何使MATLAB更快

上周,我们有一个难题点击这里),可以更快速、简单地开发利用图像处理工具箱。有些人使用工具箱,而有些没有。随着谈话在评论中持续(点击这里我们按比例缩小的问题由成千上万次解决问题。RMFIELD这种规模的瓶颈,使用REGIONPROPS,明显减缓了基于图像处理的代码。

没有多久史蒂夫·埃丁图像处理的名声,注意到这个对话。不久,一个开发人员的团队,Inpakala,激动了一个解决方案,加快代码70% !

太晚了对于这个速度优化MATLAB的2008 b版本,但它应该使2009年一次完成所有的测试。这是一个写代码的清洁和明确在第一,然后再做优化的瓶颈。我想谈论这个解决方案,并使用一些MATLAB工具来探索它。

这是问题的症结所在,在其最简单的形式:

我=圆(rand (100));因为我= 1:1000老= regionprops (im,“区域”);结束


看着分析器报告对于这个简单的代码,(点击这里分析器上的一段视频]

MATLAB分析器

我们可以快速找到最慢的部分每个m文件,直到我们达到的罪魁祸首。

MATLAB分析器

arrow.jpg
MATLAB分析器

arrow.jpg
MATLAB分析器

每次通过观察最慢线,Inpakala发现缓慢行代码是使用STRMATCH,叫做RMFIELD。从这个文件不是她可以很容易地修改,就像任何其他MATLAB用户,她需要找到一个不同的方式编写代码她可以控制。

让我们看看她的修改的代码使用文件比较工具:

MATLAB文件比较工具

我们发现周围的麻烦,Inpakala身边以下更改。

MATLAB文件比较工具

分析实际代码更改确实超出了这个条目的范围,但基本上她改变了两行代码(红色)和添加三人十线(绿色)和一个新的子函数(没有显示)。

在最后的分析:代码变得更长,更复杂和更快。注意代码开始工作的最简单的代码,只有当需要优化是未遂。最后,这种优化REGIONPROPS运行时的时候给了70%的优惠。

MATLAB分析器

你觉得分析器瓶颈?如果你发现一个瓶颈在MATLAB代码,可以改善,不要害羞!告诉我们关于它!

|
  • 打印
  • 发送电子邮件

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。