[讨论] 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