Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 25, 2006 13:39:59

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

импортирование модулей - проблемы со скоростью

Всем привет!

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

у меня в проекте порядка 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) тяжело запускается и потом при вызове немного притормаживает.



Офлайн

#2 Ноя. 29, 2006 07:38:07

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

импортирование модулей - проблемы со скоростью

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

PS сейчас запускается чуть быстрее, но всеравно довольно долго (30-60 секунд на пустой машине)



Офлайн

#3 Ноя. 30, 2006 06:05:59

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

импортирование модулей - проблемы со скоростью

Было б неплохо, если бы ты показал результаты профилировки и/или код. Можно в привате.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version