Estoy tratando de determinar cuál es la manera más rápida de leer en archivos de texto grandes con muchas filas, hacer algunos procesamientos y escribirlos en un archivo nuevo. En C# /. Net, parece que StreamReader es una forma aparentemente rápida de hacerlo, pero cuando intento usarlo para este archivo (leyendo línea por línea), va aproximadamente 1/3 de la velocidad de E/S de python (lo cual me preocupa) porque sigo oyendo que el IO de Python 2.6 fue relativamente lento).¿Cuál es la forma óptima (velocidad) de analizar un archivo de texto grande (> 4 GB) con muchas (miliones) de líneas?
Si no hay una solución .Net más rápida para esto, ¿sería posible escribir una solución más rápido que StreamReader o ya utiliza un búfer/algoritmo/optimizaciones complicados que nunca esperaría superar?
Una pregunta, ¿dónde está su cuello de botella en el código C#? ¿Ha perfilado o medido el código? 1/3 de la velocidad de Python no parece adecuado para operaciones que implican un acceso de disco pesado. –
cada obtener una respuesta válida en este caso? ¿Estabas leyendo el EOF o cuál era tu estrategia con el lector de flujo? –