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

作者: automaton   2018-08-09 20:41:37
各位學長/姊 好:
如下圖,為什麼我的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
作者: profyang (prof)   2018-08-09 22:25:00
jit compiler的關係?
作者: diva (Tremendo!)   2018-08-10 04:22:00
試試把你的ansdata在for迴圈之前初始化(預設矩陣的大小)
作者: profyang (prof)   2018-08-10 13:03:00
就是Matlab會即時compile 印象中for迴圈不要太大的時候現在的Matlab相對沒有jit的時候快很多也就是你116以前的那麼快是jit的功勞 之後太慢就是jit不夠強了這只是我猜測而已 對這我也不是很懂另外你ansdata裡面是數字的話用zeros可能比較好
作者: sppmg (sppmg)   2018-08-11 20:53:00
首先,請用貼code 網站好嗎!這樣很難看!用profile測一下,慢的不見得是ansdata。memory 檢查記憶體也可以ansdata 不存,看會不會慢
作者: name0625 (lawpy)   2018-08-28 08:07:00
是不是記憶體不夠,吃到虛擬記憶體去了?

Links booklink

Contact Us: admin [ a t ] ucptt.com