2009 9 13 10:52 AM 2526 次查看
分类:Google App Engine 标签: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个方法的速度较快,且不存在兼容性问题。
2009 9 12 04:52 PM 2803 次查看
分类:Web 标签:Python, 性能
Tornado是由Python编写的,被设计成能处理数千条同时发生的请求。
2009 9 12 04:25 AM 11969 次查看
分类:编程 标签:Java, Python, 性能
我想概述什么的大家都看烦了,所以我就直接以代码来说明了。
这个例子是从一个UTF-8编码的文本文件里读取所有字符,转换成Shift-JIS编码,再将每个字节与0xAB异或,最后写入另一个文件。可以算是破解日文游戏经常需要做的事,尚据一定代表性吧~
2009 9 6 03:11 PM 3182 次查看
分类:Google App Engine 标签:Google App Engine, Python
2009 9 6 11:29 AM 1903 次查看
分类:Google App Engine 标签:Google App Engine, Python, 性能
今天在GAE论坛看到有人说ListProperty太慢了,即使加上indexed=False也非常慢,而用pickle技术保存成Blob类型就会快10倍。
对于这点,Nick Johnson提到了《Store arrays of numeric values efficiently in the datastore》这篇文章。
他的解释是ListProperty会将其中的每个元素编码成一个独立的属性,并多次对其进行序列化,所以会造成很大的开销。
而pickle虽然可以让其只保存成一个元素,但兼容性可能并不好,也不是特别高效。
2009 9 4 02:40 PM 8837 次查看
分类:Google App Engine 标签:Google App Engine, Python
今天Google App Engine SDK 1.2.5的发布,带来了XMPP这个好玩的API,于是我立刻拿来尝鲜了。
API其实非常简单,主要是要了解XMPP是什么。但我懒得解释了,感兴趣的就去Google一下或看这几篇XMPP正式RFC标准文档吧。
由于Google Talk是基于这个协议的,而且GAE的XMPP API专门提供了在线查询功能,所以自然就用它了。
2009 8 22 04:07 PM 2278 次查看
分类:Google App Engine 标签:Google App Engine, Python, 性能
Google App Engine的数据库查询对象有Query和GqlQuery这2种类型,其创建方式完全不同。粗略看上去,GqlQuery的分析量更大,需要消耗更多的CPU时间;不过有bind方法,使其可以重复使用。
2009 8 20 11:56 PM 1914 次查看
分类:Python 标签:Python
详情可以看《PySide has been released》,这个强大的框架也终于免费了(以前只能用于开源项目,否则需要购买商业许可证),不过目前还不支持Windows。
唯一想说的是文档做得很漂亮,用到了一些好玩的JavaScript特效。
此外,目前仍处于0.1.4.5版本,或许让开发者仍会有些望而却步~
2009 8 20 09:31 PM 1490 次查看
分类:Python 标签:Python
本想像去年一样用PHP来做,结果换了服务器,fsockopen好像出问题了,只好做成单机版了=。=
可以连续查分,自动识别英语四级、英语六级、日语四级、日语六级、德语四级、俄语四级和法语四级(只有CET4/6进行了格式化,其余没有准考证号,没法测试),命令如下:
2009 8 20 12:49 AM 2161 次查看
分类:Google App Engine 标签:Google App Engine, Python
« 看看还有什么好玩意