在我的模型中,我使用行为空间执行多次运行,每次运行时变量都会发生变化,输出存储在* .csv中供以后分析。该模型在前几次迭代中运行良好,但随着数据的增长迅速减速。我的问题是在行为空间中使用时会文件刷新吗?或者有办法吗?
干杯
西蒙
答案 0 :(得分:2)
确保使用表格格式输出并禁用电子表格格式。在http://ccl.northwestern.edu/netlogo/docs/behaviorspace.html我们读到:
但请注意,在实验完成之前,电子表格数据不会写入结果文件。由于电子表格数据存储在内存中直到实验完成,因此非常大的实验可能会耗尽内存。所以你应该禁用电子表格输出,除非你真的需要它。
另请注意:
并行运行会相应地增加实验的内存需求。您可能需要增加NetLogo的内存上限(请参阅此FAQ条目)。
链接的常见问题解答条目为http://ccl.northwestern.edu/netlogo/docs/faq.html#howbig
使用file-flush
无济于事。它将所有缓冲的数据刷新到磁盘,但仅用于使用file-open
自行打开的文件,无论如何,与文件关联的缓冲区是固定大小的,而不是随着时间的推移而增长的。 file-flush
实际上只有在运行期间从另一个进程读取同一文件时才有用。