В настоящее время я участвую в проекте Python, который включает обработку огромных объемов данных. В этом случае я должен печатать огромное количество данных в файлах. Они всегда однострочные, но иногда состоящие из миллионов цифр.Python 3 - Быстрая печать и ввод-вывод
Фактические математические операции в Python занимают всего несколько секунд, минут максимум. Печать их в файл занимает до нескольких часов; которые у меня не всегда есть.
Есть ли способ ускорения ввода-вывода?
Из того, что я считаю, число хранится в ОЗУ (или, по крайней мере, я предполагаю, что это единственное, что заняло бы 11 ГБ ОЗУ), но Python не печатает его в текстовый файл немедленно. Есть ли способ сбросить эту информацию - если это число - в файл? Я пробовал Дамп Диспетчера задач, который дал мне файл дампа 22 ГБ (Да, вы читали это правильно), и не похоже, что я там искал, хотя это было не очень понятно.
Если это имеет значение, у меня есть Python 3.5.1 (Anaconda и Spyder), операционная система Windows 8.1 x64 и 16GB.
Кстати, я запускаю сборщик мусора (модуль gc) внутри скрипта, и я удаляю переменные, которые не нужны, поэтому эти 11GB не просто неактивны.
Записывается ли он на терминал или в файл? –
@ TadhgMcDonald-Jensen Текстовый файл. –
hmmm, вы могли бы отправить данные, которые должны быть записаны в очередь, и еще один поток, обрабатывающий IO, но я не уверен, что это поможет. –