[IPython-user] IPython 0.7.0 is out.

Fernando Perez Fernando.Perez at colorado.edu
Wed Jan 11 01:04:06 CST 2006


Sean M. Moore wrote:
> Running on Win32 (XP and 2k) and Python 2.4 Matplotlib > .79 
> (several versions)
> 
> If I don't use the idle_add, then every keystroke takes 
> a noticeable amount of time (>1sec) to be processed.
> 
> When I first encountered this, I tried various versions
> of matplotlib which made no difference, then discovered
> that it was the GTK threading code.
> 
> On your advice, I tried various values of the TIMEOUT 
> and sys.setcheckinterval.  I found some parameters that 
> Worked  (TIMEOUT=10, setcheckinterval(20)), but then 
> found the idle_add which worked much better. 
> 
> In the latest release I get a deprecation as well, 
> But I can use Ipython and matplotlib, which functionally
> I can't under the default settings for timeout_add.

OK, after reading:

http://www.pygtk.org/pygtk2reference/gobject-functions.html#function-gobject--idle-add
http://www.async.com.br/faq/pygtk/index.py?req=show&file=faq21.003.htp
http://www.async.com.br/faq/pygtk/index.py?req=show&file=faq03.007.htp

I _may_ have understood something.  Please do me _both_ a favor and try 
replacing Shell.py on your current copy with

http://ipython.scipy.org/tmp/Shell.py

and let me know how it goes.  I went back to the idle_add solution, but with a 
tiny delay before return.  Even using a sleep(0.01) does NOT give me 100%CPU 
blocking on my linux box, and in fact it doesn't seem to raise the CPU usage 
at all.  I'd like to know if this solution (which does seem like the 'right' 
thing to do, from my understanding of the GTK docs) works across OSes and 
versions.

If that's the case, it would confirm my suspicion that the solution was not to 
try and shoehorn OS-dependent code into this, but rather actually undersanding 
the GTK API correctly.

Cheers,

f




More information about the IPython-user mailing list