我们的开发人员如何使MATLAB更快
上周,我们有一个难题点击这里),可以更快速、简单地开发利用图像处理工具箱。有些人使用工具箱,而有些没有。随着谈话在评论中持续(点击这里我们按比例缩小的问题由成千上万次解决问题。RMFIELD这种规模的瓶颈,使用REGIONPROPS,明显减缓了基于图像处理的代码。
没有多久史蒂夫·埃丁图像处理的名声,注意到这个对话。不久,一个开发人员的团队,Inpakala,激动了一个解决方案,加快代码70% !
太晚了对于这个速度优化MATLAB的2008 b版本,但它应该使2009年一次完成所有的测试。这是一个写代码的清洁和明确在第一,然后再做优化的瓶颈。我想谈论这个解决方案,并使用一些MATLAB工具来探索它。
这是问题的症结所在,在其最简单的形式:
我=圆(rand (100));因为我= 1:1000老= regionprops (im,“区域”);结束
看着分析器报告对于这个简单的代码,(点击这里分析器上的一段视频]
我们可以快速找到最慢的部分每个m文件,直到我们达到的罪魁祸首。
每次通过观察最慢线,Inpakala发现缓慢行代码是使用STRMATCH,叫做RMFIELD。从这个文件不是她可以很容易地修改,就像任何其他MATLAB用户,她需要找到一个不同的方式编写代码她可以控制。
让我们看看她的修改的代码使用文件比较工具:
我们发现周围的麻烦,Inpakala身边以下更改。
分析实际代码更改确实超出了这个条目的范围,但基本上她改变了两行代码(红色)和添加三人十线(绿色)和一个新的子函数(没有显示)。
在最后的分析:代码变得更长,更复杂和更快。注意代码开始工作的最简单的代码,只有当需要优化是未遂。最后,这种优化REGIONPROPS运行时的时候给了70%的优惠。
你觉得分析器瓶颈?如果你发现一个瓶颈在MATLAB代码,可以改善,不要害羞!告诉我们关于它!
- 类别:
- 很酷的功能
评论
留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。