文平 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 © 2024
京ICP备05028076号
回复 李晓谦 2009年08月21日 星期五 14:08