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