function造成的時間大量消耗已回收

看板MATLAB作者 (如果狗狗飛上天)時間15年前 (2010/11/10 03:33), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
相信很多使用過function的人都有經驗,同樣的工作,你用 一個檔案寫成,會比你分成兩個檔案,其中一個用function 快上很多,常常是數十倍,甚至數百倍的差距. 最近在寫一個程式,不可免得必須使用函數以讓程式碼變得 簡潔可讀,且將重複的部分供其他程式呼叫. 但最後的結果,原本一個10秒就可以跑完的工作,時間整整膨 脹了2,30倍.就連我把function跟主程式碼寫在同一個檔案, 跑出來的時間也一樣久,顯然時間不是花在檔案搜尋上.這實 在讓人很沮喪.不知道各位有沒有什麼好的辦法可以解決這問 題? 為什麼呼叫built-in就很快,可是自己外加的時間就會膨 脹成這樣呢? -- ★人生中最溫暖的夏天是在紐約的冬天 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.120.178.195

11/10 20:02, , 1F
我的經驗完全相反...使用函數會大幅增加運算速度耶..
11/10 20:02, 1F

11/10 20:03, , 2F
尤其是被包含在迴圈內的函數
11/10 20:03, 2F

11/11 17:00, , 3F
會不會是matlab的函數都是傳值 所以花在分配記憶體上很久
11/11 17:00, 3F
文章代碼(AID): #1CsQ7wBt (MATLAB)