暂停模拟后Netlogo代码行缓慢消失

时间:2015-08-22 15:55:40

标签: netlogo

我的Netlogo代码在前几百个刻度中快速运行,然后速度逐渐降低(每个新刻度需要越来越多的时间才能继续)。

我已将问题缩小到这行代码:

ask turtles [ 

  (foreach vectorX indexes 
    [
      set minilist ?1
      set minilist map customProcedure minilist  <-- this line
      set vectorX replace-item ?2 vectorX minilist
    ])     
]

如果评论此行,则速度不会降低。它基本上是将自定义程序应用于&#34; minilist&#34;的每个元素,而这个自定义程序只是一系列&#34; ifelse&#34;条件。

一个有趣的现象是,如果我暂停我的模拟(我点击&#34; Go&#34;)并从同一个地方重新启动它(我点击&#34; Go&#34;再次),我得到原来快速回来了。就好像这行代码消耗了大量内存,但是当我停止模拟时,这个内存会被重置。

你知道造成这个问题的原因吗?

0 个答案:

没有答案