[Idle-dev] IDLE output speed problem

Kurt B. Kaiser kbk at shore.net
Wed Feb 23 19:04:01 CET 2005


"Anthra Norell" <anthra.norell at tiscalinet.ch> writes:

> I posted the follwing message on python.sig and there was no
> response. I hope to have more luck here. Thanks very much. -
> Frederic
>
> Hi, I upgraded from 2.2.2 to 2.4 and all is well except the output
> to the IDLE window is now twenty times slower than it was before,
> making the window utterly unusable for verbose output. The statement
> -- for i in range (100): print i -- now takes about forty-five
> seconds to complete! Used to be two.  Python 2.4 on Windows ME.

IDLE changed quite a bit at 2.3, user code is now executed in a
subprocess connected to the GUI via sockets.

But I have no idea why you are having this problem.  

On Windows 2000 (using 2.4 at about P2/300MHz) I get:

for i in range(100): print i   ==> less than two seconds
for i in range(1000): print i  ==> 19 seconds
for i in range(1000): print i, ==> 60 seconds

The slowdown for the last example is due to Tk issues with printing
long lines, i.e. that was one long line, while the other two are
individual lines.

Try running IDLE with the -n switch, either from the command line or
by changing the target in the Run / Python / IDLE menu.  Then IDLE
runs the same way it did in 2.2, without the subprocess.

If that fixes the problem, there may be an issue with Windows ME
sockets.  Try upgrading (or even downgrading to W98 :-)

Overall, as I recollect, the new IDLE is about 30% slower than the old
on Linux, OpenBSD, W2K, and WXP, due to the socket communication.  But
taking advantage of Moore's law, the overall effect since 2.2 has been
a speedup ;-) 

At least we didn't use all the cycles, like Gates does.  (I had a
jerky Flight Simulator on an Apple II+, now I've got a jerky Flight
Simulator on WXP 2.4 GHz, except (default install) it has nice pink
fractal clouds and realistic scenery instead of vector graphics.)

I wonder if anyone else on the list is using Windows ME with IDLE?

-- 
KBK


More information about the IDLE-dev mailing list