1

我有一个已上传的 *.shp 文件,并将其用作模型的一部分(计算最短路径)。这是一个相当大的形状文件,有数千条由节点表示的道路连接和交叉口和桥梁。我希望通过不每次都加载此地图来加速行为空间的运行,因此创建了一个单独的过程来加载地图和定义链接权重等。在这个过程中,我有全部清除 - 重置滴答声,所以一切都很有效如果我加载新地图,则擦除。在设置中,我为每次运行定义海龟属性。在每次运行之间,我使用 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

我的问题:我是否遗漏了一些有助于加快速度而不必重新加载地图的东西?

4

1 回答 1

0

对您的模型一无所知,我想知道您是否本质上存在“内存泄漏”,大量信息累积在全局变量中,而这些信息每次都不会被to-setup-model程序清除。是否有其他全局变量可以显式重新初始化,to-setup-model这可能有助于释放一些空间?例如,您是否有大型表在运行之间徘徊,只会获得更多的键值对并且永远不会被修剪掉?只是一个想法。

我几乎总是定义一个clear-most程序来清除所有内容,除了我不想每次都加载/计算的大数据。不幸的是,这意味着我必须详细列出要初始化的变量,但我喜欢在运行之间尽可能多地释放以保持速度。——格伦

于 2014-09-03T02:22:58.393 回答