用Cython编译Python的C扩展

标签:Python

大部分的Python代码并未用到其动态性,却为此多付出了很多时间,所以出于性能考虑就会改用C扩展来加速。
然而用C写代码明显比Python麻烦多了,接口的处理也很繁琐,所以我一直没去尝试。
昨晚看到一篇《Cython三分钟入门》,让我眼前一亮:居然可以把大部分Python代码直接编译成C扩展(当然手动改写会更快,和C代码速度几乎完全相同)。而且它是完全自由的,可以使用任何许可证:public domain、BSD、GPL或all rights reserved。

腾讯终于正式推出WebQQ了

标签:无

记得刚推出时,WebQQ还需要Sliver Light,我老登不上去,现在终于可以试试了。

【飞狐军火】MOON.先行剧透版发布

标签:ACG, GalGame

虽然有很多坑都发布了不完全版本,但我都没有转载,直到这个坑…

不过说实话,玩ONE时感觉翻译得较为一般,可能自己要求太高了吧…总之我现在还没玩完,就无限期拖延下去吧…

用GAE来收邮件

标签:Google App Engine, Python

虽然GAE很早就提供了发邮件的功能,但一直不支持收邮件,而只是将其写在了路线图里(原本是2009年上半年的计划,但已经明显延后了)。

由于Nick几次提到了smtp2web,所以便去试了下。

更高效地在memcache中存储实体

标签:Google App Engine, Python

刚才在Nick的博客读了一篇《Efficient model memcaching》,才知道原来memcache会使用pickling来存储实体,而GAE不能使用cPickle,所以速度较慢,而且存在兼容性问题,并且可能保存多余的内容(模型实体通常会有个cache镜像)。

而在SDK 1.2.5的数据库API里提供了2个新的方法来解决这个问题:model_to_protobuf(model_instance)和model_from_protobuf(pb)。
这2个方法的速度较快,且不存在兼容性问题。

« 看看还有什么好玩意