Latest posts on импортирование модулей - проблемы со скоростью topichttps://python.su/forum/topic/241/2006-11-30T06:05:59+02:00Общий :: Python для экспертов :: импортирование модулей - проблемы со скоростью
2006-11-30T06:05:59+02:00j2a1747Было б неплохо, если бы ты показал результаты профилировки и/или код. Можно в привате.
Общий :: Python для экспертов :: импортирование модулей - проблемы со скоростью
2006-11-29T07:38:07+02:00pythonwin1740профилировал:<br/>1) мой код выполняется очень быстро (~2-3% от всего времени выполнения метода )<br/>2) уменьшил server.thread_pool до == 50<br/>3) убрал лишние импорты + оставшиеся сделал свойствами класса и в методах вызываю self.имя_модуля.функция<br/>4) основная нагрузка на getattr и setattr <br/><br/>PS сейчас запускается чуть быстрее, но всеравно довольно долго (30-60 секунд на пустой машине)
Общий :: Python для экспертов :: импортирование модулей - проблемы со скоростью
2006-11-25T13:39:59+02:00pythonwin1705Всем привет!<br/><br/>Пожалуйста, помогите разрешить вопрос:<br/><br/>у меня в проекте порядка 10 - модулей с классами, которые являются предками главного класса, объект которого я и создаю. В каждом из этих классов я использую различные модули и содержимое этих модулей. Модули часто повторяются.<br/><br/>при этом при загрузке этих модулей раньше я использовал <br/><div class="code"><pre><span class="kn">from</span> <span class="nn">modul1</span> <span class="kn">import</span> <span class="o">*</span>
</pre></div><br/>сейчас оставил только <br/><div class="code"><pre><span class="kn">import</span> <span class="nn">modul1</span>
<span class="c">## и когда удобно</span>
<span class="kn">from</span> <span class="nn">modul2</span> <span class="kn">import</span> <span class="n">Fun1</span><span class="p">,</span> <span class="n">Fun2</span>
</pre></div><br/>скорость возросла, но всё равно довольно низкая + надоело постоянно контролировать import и пространство имен<br/><br/>сейчас перед дилемой - что лучше:<br/>root1.py<br/><div class="code"><pre><span class="k">class</span> <span class="nc">root1</span><span class="p">(</span><span class="n">controllers</span><span class="o">.</span><span class="n">RootController</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">q1</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">modul1</span><span class="o">.</span><span class="n">Fun1</span><span class="p">()</span>
</pre></div>__init__.py<br/><div class="code"><pre><span class="kn">import</span>
<span class="nn">import</span> <span class="nn">modul1</span>
<span class="k">class</span> <span class="nc">Root</span><span class="p">(</span><span class="n">controllers</span><span class="o">.</span><span class="n">RootController</span><span class="p">,</span> <span class="n">root1</span><span class="p">):</span>
<span class="n">modul1</span> <span class="o">=</span> <span class="n">modul1</span>
</pre></div><br/>или в каждом модуле прописывать <br/><div class="code"><pre><span class="kn">import</span> <span class="nn">modul1</span>
</pre></div><br/>PS программа (на TG) тяжело запускается и потом при вызове немного притормаживает.