首页 / PYTHON / 避免python设置时间
避免python设置时间
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了避免python设置时间,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1302字,纯文字阅读大概需要2分钟。
内容图文
![避免python设置时间](/upload/InfoBanner/zyjiaocheng/673/42c844e42d834561bdda3dfb38f6d297.jpg)
下图显示python在用户空间中花费大量时间.是否可以减少所有时间?
从某种意义上说,我将运行一个脚本100次.是否有可能启动python,以便花时间初始化一次,而在随后的时间不进行初始化?
解决方法:
我只是搜索了相同内容,发现了这一点:
http://blogs.gnome.org/johan/2007/01/18/introducing-python-launcher/
Python-launcher不能直接解决问题,但它指向一个有趣的方向:如果创建一个小的守护程序,可以通过外壳与之联系以派生一个新实例,则可以摆脱启动时间.
例如,获取python-launcher和socat¹并执行以下操作:
PYTHONPATH="../lib.linux-x86_64-2.7/" python python-launcher-daemon &
echo pass > 1
for i in {1..100}; do
echo 1 | socat STDIN UNIX-CONNECT:/tmp/python-launcher-daemon.socket &
done
待办事项:使其适应您的程序,删除GTK内容.请注意&最后:关闭套接字连接似乎很慢.
基本技巧是仅创建一个打开套接字的服务器.然后,它从套接字读取所有数据.一旦有了数据,它就会像下面这样分叉:
pid = os.fork()
if pid:
return
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
signal.signal(signal.SIGCHLD, signal.SIG_DFL)
glob = dict(__name__="__main__")
print 'launching', program
execfile(program, glob, glob)
raise SystemExit
以这种方式运行100个程序只花了0.7秒.
如果您想变得非常快,则可能必须从分叉切换为仅执行代码,而不是分叉.
(这也是我对emacsclient所做的…我的emacs大约需要30秒钟才能启动(由于我过度使用了我添加的其他库),但是emacsclient -c几乎立即显示出来.)
内容总结
以上是互联网集市为您收集整理的避免python设置时间全部内容,希望文章能够帮你解决避免python设置时间所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。