brett@python.org> wrote:
> Thanks for any help people can provide me on this now 5 year quest to get
> this work finished.

Do you have any plan to solve the performance issue?

I have not even looked at performance or attempted to profile the code, so I suspect there is room for improvement.
 
">

(original) (raw)



On Mon, Feb 6, 2012 at 14:49, Antoine Pitrou <solipsis@pitrou.net> wrote:

On Mon, 6 Feb 2012 09:57:56 -0500

Brett Cannon <brett@python.org> wrote:

> Thanks for any help people can provide me on this now 5 year quest to get

> this work finished.



Do you have any plan to solve the performance issue?


I have not even looked at performance or attempted to profile the code, so I suspect there is room for improvement.


$ ./python -m timeit -s "import sys; mod='struct'" \\
"\_\_import\_\_(mod); del sys.modules\[mod\]"
10000 loops, best of 3: 75.3 usec per loop
$ ./python -m timeit -s "import sys; mod='struct'; from importlib import \_\_import\_\_" \\
"\_\_import\_\_(mod); del sys.modules\[mod\]"
1000 loops, best of 3: 421 usec per loop

Startup time is already much worse in 3.3 than in 2.7\. With such a
slowdown in importing fresh modules, applications using many batteries
(third-party or not) will be heavily impacted.

I have a benchmark suite for importing modules directly at importlib.test.benchmark, but it doesn't explicitly cover searching far down sys.path. I will see if any of the existing tests implicitly do that and if not add it.