使用する大きなファイルがいくつかあり、それらにアクセスするためにいくつかの異なるI/O機能を使用しています。最も一般的なものはbigmemory
パッケージです。
ファイルに書き込むときに、出力バッファーをフラッシュする難しい方法を学びました。そうしないと、データが保存されたかどうかについてすべての賭けが無効になります。ただし、これにより、処理中に非常に長い待機時間が発生する可能性がbigmemory
あります(数分)。なぜこれが起こるのかわかりません-常に起こるとは限らず、簡単に再現することもできません。
特にI/OバッファがRでフラッシュされたかどうかを判断する方法はありbigmemory
ますか?オペレーティングシステムが重要な場合は、そのように答えを自由に制限してください。
答えを超えて一般化できるのであれば、bigmemory
他のメモリマッピング関数やI / Oストリームに依存することがあるので、それは素晴らしいことです。
バッファがフラッシュされたかどうかを確認するための適切な解決策がない場合、バッファがフラッシュされたと見なすことができる場合がありますか?つまり、を使用する以外にflush()
。
更新:これらはすべてバイナリ接続であることを明確にする必要があります。@RichieCottonはisIncomplete()
、ヘルプドキュメントにはテキスト接続についてのみ言及されていますが、注意しました。それがバイナリ接続に使用できるかどうかは明らかではありません。