[討論] FOR 迴圈突然變超級慢??

看板MATLAB作者時間5年前 (2018/08/09 20:41), 5年前編輯推噓3(309)
留言12則, 4人參與, 5年前最新討論串1/1
各位學長/姊 好: 如下圖,為什麼我的for迴圈在116次以內都是0.6秒內完成, 但是一跨過116次後所消耗的時間就變超久,而且不成比例的耗時。 想請問各位學長姊,這是什麼問題? 我該如何改善呢? 謝謝喔! 以前相同的程式碼在64bit下執行,沒有這個問題。 今天因為要配合資料庫的需求改使用32bit版本,請問會是這個問題點嗎? https://imgur.com/a/t2YihNy https://imgur.com/a/Iy1Ro2S https://imgur.com/a/5zGX9Ir https://imgur.com/a/DmPA9on https://imgur.com/a/4B9imAP -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.43.9 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1533818499.A.1FF.html

08/09 22:25, 5年前 , 1F
jit compiler的關係?
08/09 22:25, 1F
請問profyang學長,jit 是什麼意思??

08/10 04:22, 5年前 , 2F
試試把你的ansdata在for迴圈之前初始化(預設矩陣的大小)
08/10 04:22, 2F
回diva學長,我有利用cell來初始話ansdata這個矩陣,但是沒有改善耶 再麻煩學長指導 https://imgur.com/a/OUv5XVC ※ 編輯: automaton (140.112.43.9), 08/10/2018 12:25:19

08/10 13:03, 5年前 , 3F
就是Matlab會即時compile 印象中for迴圈不要太大的時候
08/10 13:03, 3F

08/10 13:03, 5年前 , 4F
現在的Matlab相對沒有jit的時候快很多
08/10 13:03, 4F

08/10 13:04, 5年前 , 5F
也就是你116以前的那麼快是jit的功勞 之後太慢就是jit不
08/10 13:04, 5F

08/10 13:04, 5年前 , 6F
夠強了
08/10 13:04, 6F

08/10 13:04, 5年前 , 7F
這只是我猜測而已 對這我也不是很懂
08/10 13:04, 7F

08/10 13:06, 5年前 , 8F
另外你ansdata裡面是數字的話用zeros可能比較好
08/10 13:06, 8F

08/11 20:53, 5年前 , 9F
首先,請用貼code 網站好嗎!這樣很難看!
08/11 20:53, 9F

08/11 21:00, 5年前 , 10F
用profile測一下,慢的不見得是ansdata。memory 檢查記憶體
08/11 21:00, 10F

08/11 21:01, 5年前 , 11F
也可以ansdata 不存,看會不會慢
08/11 21:01, 11F

08/28 08:07, 5年前 , 12F
是不是記憶體不夠,吃到虛擬記憶體去了?
08/28 08:07, 12F
文章代碼(AID): #1RR3Q37_ (MATLAB)