Подтвердить что ты не робот

Эффект эффективности использования операторов печати в скрипте Python

У меня есть сценарий Python, который обрабатывает огромный текстовый файл (длиной около 4 миллинов) и записывает данные в два отдельных файла.

Я добавил оператор печати, который выводит строку для каждой строки для отладки. Я хочу знать, насколько это плохо с точки зрения производительности?

Если это будет очень плохо, я могу удалить строку отладки.

редактировать

Оказывается, что наличие оператора печати для каждой строки в файле с 4 миллионами строк увеличивает время слишком много.

4b9b3361

Ответ 1

Пробовал делать это в очень простом сценарии просто для удовольствия, разница довольно ошеломляющая:

В large.py:

target =  open('target.txt', 'w')

for item in xrange(4000000):
    target.write(str(item)+'\n')
    print item

Сроки:

[[email protected] /tmp]$ time python large.py
real    1m51.690s
user    0m10.531s
sys     0m6.129s

[email protected] /tmp]$ ls -lah target.txt 
-rw-rw-r--. 1 gp gp 30M Nov  8 16:06 target.txt

Теперь выполняется то же самое с "печатью":

[email protected] /tmp]$ time python large.py 
real    0m2.584s
user    0m2.536s
sys     0m0.040s