布朗桥python_MATLAB 里面有哪些加快程序运行速度的方法呢,求分享?
生活随笔
收集整理的這篇文章主要介紹了
布朗桥python_MATLAB 里面有哪些加快程序运行速度的方法呢,求分享?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
挖墳了…睡不著覺當個備忘錄記一下用過的方法吧
1. 循環(huán)向量化
2. 利用函數的矩陣輸入功能批量處理
3. 必須用for且費時的地方改成單層parfor,要是循環(huán)次數比cpu核數還少反而會拖慢程序
4. 非常大的矩陣的運算可以用gpuArray(這個在matlab 深度學習工具箱中深有體會)
5. 能用矩陣不要用cell,速度慢且占內存巨多
6. 對調用頻繁且費時的地方嘗試生成c ,寫成mex
7. 按編譯器提示先初始化矩陣大小(但我大部分時候還是懶得預先算矩陣大小…)
8. Matlab 是可以多開的,如果parfor不能改或者懶得改可以“人肉parfor”,也就是把一個for拆成幾段然后多開幾個matlab 一起執(zhí)行,最后再合并結果,比較暴力哈哈
9. 費時的程序最后加個email發(fā)送程序,跑完直接把結果發(fā)郵箱里
10. 再想想
關于第6條前幾天做了個測試,自己造了個filter函數的小輪子,和內置函數,以及相應生成的mex函數的速度進行了對比,大體過程參考[Matlab] 濾波器filter函數造輪子及使用代碼生成進行速度優(yōu)化 給個最后的結果吧:
可以看到自己寫的函數轉mex后速度能提升一個數量級,這其中主要也是C優(yōu)化了MATLAB的for循環(huán)的功勞。
總結
以上是生活随笔為你收集整理的布朗桥python_MATLAB 里面有哪些加快程序运行速度的方法呢,求分享?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux内核 scatterlist介
- 下一篇: 影视行业基金代码