У меня есть большие, большие файлы, с которыми я работаю, и я использую несколько различных функций ввода / вывода для доступа к ним.Наиболее распространенным является пакет bigmemory
.
При записи в файлы я научился трудному способу очистки выходных буферов, в противном случае все ставки на сохранение данных сохранены.Однако это может привести к очень долгому времени ожидания, пока bigmemory
делает свое дело (много минут).Я не знаю, почему это происходит - это не всегда происходит и не так легко воспроизводится.
Есть ли способ определить, были ли очищены буферы ввода-вывода в R, особенно для bigmemory
?Если операционная система имеет значение, тогда не стесняйтесь ограничивать ответ таким образом.
Если ответ может быть обобщен за пределы bigmemory
, это было бы здорово, поскольку я иногда полагаюсь на другие функции отображения памяти или/ O потоки.
Если нет хороших решений для проверки, были ли очищены буферы, есть ли случаи, в которых можно предположить, что буферы были очищены?Т.е. кроме использования flush()
.
Обновление : я должен уточнить, что это все двоичные соединения.@RichieCotton отметил, что isIncomplete()
, хотя в справочной документации упоминаются только текстовые соединения.Не ясно, пригодно ли это для бинарных соединений.