我有一个简单的python脚本,但它在第一次运行时会显示更高的执行时间。如果我在更快的几个因素后立即执行它。是什么导致这个python脚本执行时间的变化?
该脚本运行在私有测试服务器上,没有应用程序运行,所以我不认为缺乏系统资源会导致运行速度变慢。
#!/usr/bin/env python
import redis,time,sys
print "hello"
$ time python test.py
real 0m0.149s
user 0m0.072s
sys 0m0.076s
$ time python test.py
real 0m0.051s
user 0m0.020s
sys 0m0.028s
任何人都可以解释执行时间的差异吗?
我已经为包含外部脚本的php脚本运行了类似的测试,并且该脚本的执行时间的变化可以忽略不计。
这种差异影响我的应用程序,因为这样的脚本被多次调用并导致响应在70ms和450ms之间传递。
使用[消息队列](http://www.rabbitmq.com/tutorials/tutorial-six-python.html)可能会有帮助。不要通过shell调用脚本,只需将任务发送到队列并在任务处理完成后运行回调。 – Blender
如果我理解正确,你建议有一个单独的实例与运行这个函数的运行python解释器,从而避免为每个调用启动一个新的进程虚拟机的问题(时间成本)? – user784637
就是这样的。 – Blender