文平

文平的博客

他的个人主页  他的博客

效率@python

文平  2009年08月14日 星期五 14:40 | 2106次浏览 | 2条评论

python 开发,常被认为开发效率高,而执行效率低。不过当今电脑硬件执行速度已经是飞快啦,python的执行效率还是能满足大部分应用的。
在这,再说说关于执行效率方面的东西。
python社区中有两个很值得关注的项目: pypy google的unladen-swallow
如果这两个项目中任何一个开发成功,都可以大大提高python的运行速度。而pypy的目标更大,更值得期待。

另外,当前有两个项目可以提速Python程序: psyco shedskin
psyco现在已经交由pypy开发人员维护,近期也将发布最新的2.0版(不过我用svn中的代码编译发现有 问题 )。psyco 使用 方便,提速效果明显,是当前的最佳选择;
shedskin也不错,现在已经可以将少量python模块编译成c++代码,再编译成exe。其提供了些实用的例子,如 MiniLight ,使用shedskin后,it becomes up to 100 times faster。

再者,提提协程,一种比较新的开发模式。协程是为了解决日益增大的并发计算问题而生。有说并发计算的发展应该是:进程--->线程--->异步--->协程。
c/c++、pascal等语言虽然执行速度快,但如果需要用它来实现协程,可能会很复杂。而python社区有 stackless 、greenlet,提供十分方便的协程开发。stackless是 EVE Online 游戏的核心开发语言,EVE Online是名符其实单台服务器最大同时在线数的游戏。同时这款游戏也推动了stackless的发展。
greenlet据说是stackless的副产品,看看这篇文章介绍: 协程才是未来-性能夸张的协程服务器,基于eventlet(greenlet)的http性能测试 。这文章里提到eventlet,这也是个值得期待的项目。python的twisted,大概很多人都知道,它是python社区中一个最强大的网络开发框架,使用异步开发模式。而eventlet也是一款网络开发框架,使用协程模式。两个都能用于高网络并发应用。
再转一篇: Spawning + Django , 其中提到:On my Apache + mod_wsgi setup, I got 235.65 requests per second. That was really good, I thought! However, with the Spawning setup, I got 347.20 requests per second.

 

神龙主机论坛贴:http://forums.loonghost.com/index.php(免费的web服务器,支持python)

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
李晓谦

回复 李晓谦  2009年08月21日 星期五 14:08

。。。。不少

0条回复

李晓谦

回复 李晓谦  2009年08月21日 星期五 14:07

好文章,
学习到不好东西。。。。

0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号