在bash中运行python脚本比在空闲状态下运行代码慢

在bash中运行python脚本比在空闲状态下运行代码慢,python,Python,我已经编写了一个python脚本,使用Tkinter绘制sierpinski垫片,当从python空闲运行时,程序所需时间大约是从bash运行时所需时间的一半。我使用python中的时间模块对脚本计时。任何关于为什么会发生这种情况的想法都将不胜感激。谢谢Rafe可能是正确的-您可以通过限制导入来测试这一点,看看这是否会影响启动时间。也就是说,如果你正在做 从Tkinter导入* 然后将其更改为仅导入实际需要的模块。或者编写一个快速的空程序,只进行设置和删除,而不使用包中的任何内容—这两个程序的运

我已经编写了一个python脚本,使用Tkinter绘制sierpinski垫片,当从python空闲运行时,程序所需时间大约是从bash运行时所需时间的一半。我使用python中的时间模块对脚本计时。任何关于为什么会发生这种情况的想法都将不胜感激。谢谢

Rafe可能是正确的-您可以通过限制导入来测试这一点,看看这是否会影响启动时间。也就是说,如果你正在做

从Tkinter导入*


然后将其更改为仅导入实际需要的模块。或者编写一个快速的空程序,只进行设置和删除,而不使用包中的任何内容—这两个程序的运行方式应该非常接近。

这是因为您传递它的方式。根据您对另一个答案的评论,您使用的是
python-c
,而在空闲状态下,您使用的是Run命令(或类似命令)。我不知道
python-c有任何性能问题,但是使用Run-in-IDLE运行somescript.py相当于
python-somescript.py


您真的应该使用
python-c
运行脚本,它更多地用于小片段。

这可能与您使用IDLE时Tkinter已经在使用有关。我认为这对非Tkinter应用程序不起作用。如果有的话,IDLE会运行得更慢。这有点可笑,但当我将脚本更改为可执行文件并从命令行运行时,所用的时间与从IDLE运行时所用的时间大致相同。当脚本通过在命令行中显式地将其作为参数传递给解释器来运行时,需要的时间是原来的两倍。感谢各位的时间。从命令行使用cprofiler运行脚本是在时间尖峰时,所以我猜cprofiler会增加脚本执行时间的开销。