[翻译]Go 和 Python 的 Web 服务器性能对比

原文在此:http://ziutek.github.com/web_bench/ 由于是早上看到 鱼哥,在推上的推荐,我实在忍不住……这是中午的草率之举,所以 鱼哥 对本文的翻译负全责。 PS:别说我工作状态不饱满,我在等丫的程序执行完…… ————翻译分割线———— Go 和 Python Web 服务器性能对比 我通常使用 Python 来构建 Web 应用。一年前,在兴趣的驱使下,我开始学习 Go。 在此期间,我重写了一些原本由 C 开发的 CGI 应用,包括运行于 chroot 环境下的同 thttpd 服务器一起的应用。我开始寻找可以开发易于 chroot、且内置 Web 服务器的独立 Web 应用的工具。那时,我开始玩 web.go 框架、mustache.go 模板、Go 原生 http 包和 GoMySQL 数据库 API。我发现,有 http、mustache.go  GoMySQL 包的 Go 可以是我用来工作的不错的工具组合。因此,我决定使用 Go 编写我的应用。

python 自身的协程实现?

本来,想给这个随笔起个更眩的名字:《跟随赖神学协程——之一》,原因嘛,自然是因为赖神的协程三篇之一(协程初接触)。不过,怕赖神k我,所以标题党还是朴素一点吧。 至于标题里的问号,是我有意加上去的。原因是在推上赖神认为“python 语言和标准库是不支持协程的(3.x部分支持)”,并且如果 python 自身支持协程,“stackless py 该有多么惭愧啊, :)”(stackless python 的协程详情请看这里)。但是因为 PEP 0342 的描述,令我很迷惑。python 自身是否可以实现协程,这个值得商榷。我不确定,保守点好,给自己个后路走。加个问号吧……如果这不算协程,大家就当我实现了“伪协程”吧。嘿嘿……

Netbeans Python 调试,郁闷的包导入问题

这几天在帮忙开发一个 python 项目。使用 netbeans 的时候,遇到一个诡异的问题。 如果使用“运行”来跑项目,一切正常。而如果使用“调试”来跑项目,当执行到 import 第三方的库的时候,就会产生“ImportError: No module named xxxx”。郁闷不已,上网查了半天,没找到可用的信息。 毛主席教育我们“自己动手,丰衣足食”。于是就祭出“观察、归纳和总结”的科学的研究方法,对这个灵异现象进行了一番探索。

脚本语言的配置文件

关于配置文件,在 PHP 的 Zend Framework 中我做过一些简单的关于性能的测试:http://www.mikespook.com/index.php/archives/36。将 ninnypro 的配置文件从 ini 修改为 xml ,并且声称能提高传说中的性能。 最近被调到另外一个在用 python 的组帮忙,阅读了他们的实现服务器端的 python 代码之,配置文件近二十余个,全是 xml 文件。为了使用着些配置文件,从 XMLFile 继承,实现了二十余个 Config 类。 这看起来似乎没什么问题。

TurboGears 学习笔记-控制器

这部分内容虽然不多,但是看了好多天。 在 tgadmin 自动生成的 appname/appname/controller.py 中有如下代码: 1 import turbogears as tg 2 from turbogears import controllers, expose, flash 3 from cherrypy import request 4 # from sandbox import model 5 # import logging 6 # log = logging.getLogger(“sandbox.controllers”) 7 8 class Root(controllers.RootController): 9 @expose(template=“sandbox.templates.welcome“) 10 def index(self): 11 import time 12 # log.debug(“Happy TurboGears Controller …

TurboGears 学习笔记-安装

Zope3 很强大,但是一直徘徊在 python 2.4 不升级。学习的兴趣骤减。Django 版本一直停滞在 0.96 不前。据说 12 月会出 1.0,但是兼容性似乎不能保障。偶然的机会看到一篇 TurboGears 的文章,似乎停简单。于是乎,先学安装。 TurboGears 的安装已经简单到了及至:easy_install turbogears。 在 ubuntu 下使用 easy_install 这个命令需要安装 python-setuptools 这个包。 在终端中执行 tg-admin 这个命令,一切正常,除了会有一个警告:UserWarning: Your installation of Python doesn’t have a profile module.原来还需要安装 python-profiler 这个包,使用 apt-get 安装之后,这个警告就不会再出现了。 使用 tg-admin quickstart 生成一个项目,比如 sandbox。进入自动生成的 sandbox 目录,执行命令 ./start-sandbox.py 一切 OK,只要 8080 端口没有被占用,TurboGears 就正常启动了。 在开发模式下,如果需要修改 8080 端口,找到 …

參加了 ZPyUG 08年第一次活動

http://wiki.woodpecker.org.cn/moin/ZPyUG/2008-03-15 切身體會了一下 Python 社區的氛圍。確實,就如同語言一樣,Python 社區的操作比 PHP 社區要嚴謹許多。 會課中老潘介紹了 doctest 在 python 中的使用,這個對于我來說是個感覺不錯的東東。回來查了一下 PHP 有類似的東西,但是不是很成熟 http://code.google.com/p/doctest-php/ 劉興介紹了新版本 Python 的一些特性,我估計 Python 也會像 PHP 一樣維護并行的兩個版本了。 金山這個國內業界的老大,對 Python 的支持不錯。同時在會課中間插播了他們的招聘,條件很誘人,不過珠海實在是有些令人遺憾。要是在廣州開發,或許會去嘗試一下它的氛圍。 另外老潘介紹了 Zope3,我突然想到,是不是可以用這個作為后臺邏輯支持。有時間要看看才行。