[IPython-dev] Nice segfault from package scanning...

Olivier Lauzanne olauzanne at gmail.com
Wed Apr 25 13:21:36 EDT 2007


> IPython has a good reputation for stability and robustness, and we
> should try hard to keep it that way.  Features that, while nice, have
> very poor behavior (long delays, etc) in reasonable cases will always
> be off by default.  We can then document well exactly how to tweak and
> customize them for users who'd like a more fine-tuned experience and
> are aware of the potential risks.

First I call root modules modules that are directly in the pythonpath as :
xml
And I call non root modules modules that are within a package as : xml.dom

The completion of a non root module is very fast cause it only do one import
and scan one folder.
The completion of a root folder is slow (about 2 seconds the first time and
then 0.2 seconds on my laptop computer under ubuntu) so this is your problem
here

One thing I could do is simply break from the function if completion takes
more than a few seconds and disable it for the rest of the session. This
few seconds would be easily configurable so you could have "slow" completion
if you really want it.  And that  way there  would be no
stability/robustness issue.

Another idea is to scan folders with threads which would be a huge
improvement for NFS, but obviously more work than the first solution.

Another possibility that I don't really like it to save the root modules, so
it would only be slow once.

What do you think of the first idea ? with it implemented (which could be
real fast) would it be alright to have import completion by default ?

Cheers,
Olivier
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20070425/1bb16ef1/attachment.html>


More information about the IPython-dev mailing list