保持地图之间BehaviorSpace运行(Keeping maps between Behavio

2019-10-20 09:34发布

我有,我已经上传* .shp文件和我使用我的模型的一部分(计算最短路径)。 这是一个相当大的形状文件与成千上万的连接道路和路口和节点表示桥梁。 我希望通过不加载这个地图每次加快行为空间运行,因此创建一个单独的程序加载地图并确定链接的权重等。在此过程中我有明确的一切 - 复位蜱所以一切都是有效如果我加载新的地图上抹去。 在设置我定义每个运行龟属性。 每次运行时我用全部清除,情节和清晰的输出,并复位 - 蜱。 当我运行这个模型的行为空间开始的几个设置后运行缓慢,甚至有一个表输出。 但是,如果我结合负载图和设置 - 文件一起,即地图是每一个新的行为空间的运行负荷,则速度保持贯穿始终。

示例 - 运行速度慢,但地图是不是每次重装

to-load-map  
  Clear-all
  ... code for loading map
  reset-ticks
end

to-setup-model
  clear-all-plots
  clear-outputs
  ... code for setting up turtle variables
  reset-ticks
end

实施例(保持速度 - 但具有加载地图)

To-setup
  clear-all
  ...code for loading map
  ...code for setting up turtle variables
  reset-ticks
end

我的问题:我失去的东西,这将有助于加快速度,而不必重新加载地图?

Answer 1:

不知道什么对你的模型,我不知道你本质上有一个“内存泄漏”有很多的信息,在没有得到被清除每次全局变量积累to-setup-model的过程。 是否还有其他可能,你可以明确地重新初始化的全局变量to-setup-model ,这可能有助于释放一些这个领域的? 举例来说,你有大的表运行,只有获得更多的键值对,并且永远不会退缩修剪之间游逛? 只是一个想法。

我几乎总是定义一个clear-most是清除所有的东西,除了大数据,我不希望加载/计算每一次的过程。 不幸的是,这意味着我必须列出变量详细初始化了,但我喜欢自由尽可能运行之间保持事情迅速。 - 格伦



文章来源: Keeping maps between BehaviorSpace runs