Найти - Пользователи
Полная версия: импортирование модулей - проблемы со скоростью
Начало » Python для экспертов » импортирование модулей - проблемы со скоростью
1
pythonwin
Всем привет!

Пожалуйста, помогите разрешить вопрос:

у меня в проекте порядка 10 - модулей с классами, которые являются предками главного класса, объект которого я и создаю. В каждом из этих классов я использую различные модули и содержимое этих модулей. Модули часто повторяются.

при этом при загрузке этих модулей раньше я использовал
from modul1 import *

сейчас оставил только
import modul1
## и когда удобно
from modul2 import Fun1, Fun2

скорость возросла, но всё равно довольно низкая + надоело постоянно контролировать import и пространство имен

сейчас перед дилемой - что лучше:
root1.py
class root1(controllers.RootController):
    def q1(self):
        self.modul1.Fun1()
__init__.py
import 
import modul1
class Root(controllers.RootController, root1):
    modul1 = modul1

или в каждом модуле прописывать
import modul1

PS программа (на TG) тяжело запускается и потом при вызове немного притормаживает.
pythonwin
профилировал:
1) мой код выполняется очень быстро (~2-3% от всего времени выполнения метода )
2) уменьшил server.thread_pool до == 50
3) убрал лишние импорты + оставшиеся сделал свойствами класса и в методах вызываю self.имя_модуля.функция
4) основная нагрузка на getattr и setattr

PS сейчас запускается чуть быстрее, но всеравно довольно долго (30-60 секунд на пустой машине)
j2a
Было б неплохо, если бы ты показал результаты профилировки и/или код. Можно в привате.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB