2

在我的模型中,我使用行为空间来执行多次运行,每次运行时变量都会发生变化,输出存储在 *.csv 中以供以后分析。该模型在前几次迭代中运行良好,但随着数据的增长迅速变慢。我的问题是在行为空间中使用文件刷新会对此有帮助吗?或者有没有办法解决它?

干杯

西蒙

4

1 回答 1

2

确保您使用的是表格格式输出并且电子表格格式已禁用。在http://ccl.northwestern.edu/netlogo/docs/behaviorspace.html我们读到:

但是请注意,在实验完成之前,电子表格数据不会写入结果文件。由于电子表格数据在实验完成之前存储在内存中,因此非常大的实验可能会耗尽内存。所以你应该禁用电子表格输出,除非你真的想要它。

另请注意:

并行运行将相应地增加实验的内存需求。您可能需要增加 NetLogo 的内存上限(请参阅此常见问题解答条目)。

链接的常见问题条目是http://ccl.northwestern.edu/netlogo/docs/faq.html#howbig

使用file-flush将无济于事。它将所有缓冲数据刷新到磁盘,但仅限于您自己打开的文件file-open,并且无论如何,与文件关联的缓冲区是固定大小的,而不是随时间增长的东西。file-flush仅当您在运行期间从另一个进程读取同一文件时才真正有用。

于 2014-06-25T13:45:46.280 回答