Tengo algunos archivos grandes y grandes con los que trabajo y uso varias funciones de E/S diferentes para acceder a ellos. El más común es el paquete bigmemory
.Comprobando si se han barrido buffers en R
Cuando escribo en los archivos, he aprendido de la manera difícil de vaciar los búferes de salida, de lo contrario, todas las apuestas están apagadas sobre si los datos se guardaron. Sin embargo, esto puede llevar a tiempos de espera muy largos, mientras que bigmemory
hace su trabajo (muchos minutos). No sé por qué sucede esto, no siempre ocurre y no se reproduce fácilmente.
¿Hay alguna forma de determinar si los búfers de E/S se han purgado en R, especialmente para bigmemory
? Si el sistema operativo es importante, no dude en restringir la respuesta de esa manera.
Si una respuesta se puede generalizar más allá de bigmemory
, sería genial, ya que a veces confío en otras funciones de asignación de memoria o flujos de E/S.
Si no hay buenas soluciones para comprobar si los búferes se han limpiado, ¿hay casos en los que se puede suponer que se han limpiado buffers? Es decir. además de usar flush()
.
Actualización: Debo aclarar que todas estas son conexiones binarias. @RichieCotton notó que isIncomplete()
, aunque la documentación de ayuda solo menciona las conexiones de texto. No está claro si eso se puede usar para conexiones binarias.
No estoy seguro sobre el uso con 'bigmemory', pero' isIncomplete' funciona para conexiones regulares. –
¡Gracias! La información de ayuda muy limitada sobre las conexiones solo menciona que isIncomplete es adecuado para la salida de las conexiones de texto. ¿Has tenido suerte con las conexiones binarias? – Iterator