我有一个* .shp文件,我已经上传,并且我正在使用我的模型(计算最短路径)。这是一个非常大的形状文件,包含数千个道路链接以及由节点表示的交叉点和桥梁。我希望通过每次都不加载这个地图来加快行为空间的运行,因此创建了一个单独的程序来加载地图和定义链接权重等。在这个过程中我有清除所有 - 重置滴答,所以一切都是有效的如果我加载新地图,请擦除。在设置中,我为每次运行定义了turtle属性。在每次运行之间,我使用clear-all-plots和clear-output,以及reset-ticks。当我运行此模型时,行为空间在几次设置后开始缓慢运行,即使是表输出也是如此。但是,如果我将加载映射和设置文件组合在一起,即为每个新的行为空间运行加载映射,则始终保持速度。
示例 - 运行缓慢,但每次都不会重新加载地图
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
我的问题:我是否遗漏了一些有助于加快速度而无需重新加载地图的内容?
答案 0 :(得分:0)
我不知道你的模型有什么其他内容,我想知道你是否有一个"内存泄漏"在to-setup-model
过程中每次都没有清除的全局变量中积累了大量信息。是否有其他全局变量可以在to-setup-model
中明确重新初始化,这可能有助于释放部分空间?例如,在运行之间是否有大型表格,只能获得更多的键值对并且永远不会被修剪掉?只是一个想法。
我几乎总是定义一个clear-most
程序来清除所有内容,除了每次都不想加载/计算的大数据。不幸的是,这意味着我必须列出变量以进行详细初始化,但我希望在运行之间尽可能多地释放以保持速度。
- 格伦