[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