Рассмотрим эту программу python:
import sys
lc = 0
for line in open(sys.argv[1]):
lc = lc + 1
print lc, sys.argv[1]
Запустив его в моем текстовом файле на 6 ГБ, он завершится через ~ 2 минуты.
Вопрос: возможно ли ускорение?
Обратите внимание, что то же время требуется:
wc -l myfile.txt
поэтому, я подозреваю, что андер для моего вопроса - просто "нет".
Обратите внимание также, что моя настоящая программа делает что-то более интересное, чем просто подсчет строк, поэтому, пожалуйста, дайте общий ответ не трассировки строки (например, сохранение метаданных в файле в файле )
PS: Я отметил "linux" этот вопрос, потому что меня интересуют только конкретные ответы на Linux. Не стесняйтесь давать OS-агностик или даже ответы других ОС, если они у вас есть.
См. также последующий вопрос