Страницы

Поиск по вопросам

пятница, 9 ноября 2018 г.

Как заставить прогамму на python работать в фоновом режиме?

Есть программа, которая неплохо справляется со своей задачей на относительно небольших числах, но когда числа увеличиваются, программа съедает всю память и делает моему процессору больно. Я хочу переписать программу так, чтобы она хранила объекты в базе данных и выполняла действия над объектами в фоновом режиме. При этом я хочу ограничить потребляемые программой ресурсы, чтобы она не сильно нагружала процессор и не кушала много памяти.


Ответ

Отдельный процесс -- вам смотреть либо на модуль threading, либо multiprocessing. Вы вовсе не обязаны все данные хранить в памяти, а если речь идёт о строковых ресурсах вы вполне можете привлечь модуль ziplib, либо записывать и считывать данные из файла порциями. Если читаете из файла -- можете хранить zip-файл в памяти -- модуль mmap вам в помощь. Привлечение расширения cython поможет вам сократить потребление памяти в 5-8 раз, и ускорит ваши вычисления в 5-140 раз. Убедительная просьба: дублируйте ваши комментарии на русском языке. Не используйте сложные специфические конструкции. Не грешите скрытым атрибутами (они используются по другому). pyPC на гитхабе

Комментариев нет:

Отправить комментарий