2013-02-26 124 views
2

我注意到有几次,在shell命令行上启动时,一个简单的python脚本(在循环中有一些直接的代数计算)运行速度相当快(达到因子6)与通过IDLE的shell运行相比。剧本中没有什么特别的。我只打印一个循环变量,以可视化地跟踪循环中的进度。在命令行上启动速度python脚本vs在IDLE shell中启动

当然,这个打印语句不能成为IDLE中速度丢失的原因,还是可以呢?

有人可以解释我为什么这是吗?

+0

嗨,你是指IDLE中的交互式解释器吗?或者一旦保存从IDLE运行它? – 2013-02-26 09:51:03

+0

我的意思是一旦保存就从IDLE运行它。循环实际上只是一个大的数值计算,尽管包含一些类方法调用。 – 2013-02-26 10:27:36

+0

听起来很奇怪。我现在没有闲着去测试只有无头的Ubuntu盒子。你可以在这两个代码中看看结果会给出什么结果会导致print timeit.Timer('for i in range(0,10000):print i')。timeit(number = 100)'将其限制为只有'print',问题可能是在GUI中打印文本比操作系统要慢 – 2013-02-26 10:44:42

回答

1

Tkinter文本小部件很慢,而IDLE使用它来打印文本到屏幕。

请参阅this的问题。

+0

那么,不应该这是Tkinter开发人员的主要担心?我的意思是,如果只是打印一个整数会使代码执行速度降低两个数量级,那么您的工具的开发会有多糟糕? – 2013-02-26 13:33:52

+1

如果有像Tkinter这样的开发者...... – danodonovan 2013-02-26 16:28:22