私のモデルでは、動作空間を使用して多数の実行を実行しています。変数は実行ごとに変更され、出力は後で分析するために *.csv に保存されます。モデルは最初の数回の反復では正常に実行されますが、データが大きくなるにつれて急速に遅くなります。私の質問は、動作空間で使用するとファイルフラッシュがこれに役立つでしょうか? またはそれを回避する方法はありますか?
乾杯
サイモン
私のモデルでは、動作空間を使用して多数の実行を実行しています。変数は実行ごとに変更され、出力は後で分析するために *.csv に保存されます。モデルは最初の数回の反復では正常に実行されますが、データが大きくなるにつれて急速に遅くなります。私の質問は、動作空間で使用するとファイルフラッシュがこれに役立つでしょうか? またはそれを回避する方法はありますか?
乾杯
サイモン
テーブル形式の出力を使用していることと、スプレッドシート形式が無効になっていることを確認してください。http://ccl.northwestern.edu/netlogo/docs/behaviorspace.htmlでは、次のように読みます。
ただし、スプレッドシートのデータは、実験が終了するまで結果ファイルに書き込まれないことに注意してください。スプレッドシートのデータは実験が完了するまでメモリに保存されるため、非常に大きな実験がメモリ不足になる可能性があります。そのため、本当に必要でない限り、スプレッドシートの出力を無効にする必要があります。
次の点にも注意してください。
並行して実行すると、それに応じて実験のメモリ要件が増加します。NetLogo のメモリ上限を増やす必要がある場合があります (この FAQ エントリを参照してください)。
リンクされた FAQ エントリはhttp://ccl.northwestern.edu/netlogo/docs/faq.html#howbigです。
使用してfile-flush
も役に立ちません。バッファリングされたデータをディスクにフラッシュしますがfile-open
、自分で開いたファイルに対してのみです.とにかく、ファイルに関連付けられたバッファは固定サイズであり、時間の経過とともに大きくなるものではありません. file-flush
実行中に別のプロセスから同じファイルを読み取る場合にのみ、実際に役立ちます。