consideran este programa en Python:¿Es posible acelerar Python IO?
import sys
lc = 0
for line in open(sys.argv[1]):
lc = lc + 1
print lc, sys.argv[1]
Correr en mi archivo de texto 6 GB, que se completa en 2 minutos ~.
Pregunta: ¿es posible ir más rápido?
Tenga en cuenta que al mismo tiempo se requiere por:
wc -l myfile.txt
así, sospecho que la anwer a mi quesion es sólo un simple "no".
Tenga en cuenta también que mi verdadero programa está haciendo algo más interesante que un simple recuento de las líneas, así que por favor dar una respuesta genérica, no Hoja de conteo-tricks (como mantener una metadatos número de líneas en el archivo)
PD: etiqueté "linux" esta pregunta, porque solo estoy interesado en respuestas específicas de Linux. Siéntete libre de dar respuestas de OS-agnóstico, o incluso de otro sistema operativo, si las tienes.
Véase también la llanura follow-up question
echar un vistazo para una discusión muy similar aquí: http://stackoverflow.com/questions/845058/how-to-get-line-count-cheaply-in-python – SilentGhost
Probablemente la mayor parte del tiempo aquí se gasta esperando en el disco. –
Llego tarde a la fiesta, pero para archivos grandes "sed -n '$ =' nombre de archivo" es más rápido que "wc -l" – philshem