选择Google App Engine框架:慎用Django

标签:Google App Engine, 性能

GAE开发者或许会注意到这点,查看控制台的访问记录时经常会发现红色或黄色标记,表明该访问使用了较多的CPU时间。
对用户而言,0.5秒以内的响应时间(含网络延迟)比较完美,1秒以内尚可接受,2秒以上就会觉得很慢了。
而我使用的cpedialog,初次访问首页将花费1.9秒的CPU时间和0.7秒的API CPU时间(约1.6秒响应时间,不含网络延迟),紧接着的访问只需0.35秒的CPU时间和0.17秒的API CPU时间(约0.2秒响应时间),隔几分钟后访问则需要1.1秒的CPU时间和0.17秒的API CPU时间(约0.8~1.2秒响应时间)。
由于这个blog我基本不使用,所以只有约5%的概率可以让用户感觉不错,这个性能确实很糟糕。

性能最快的语言是C++?

标签:性能

刚才去The Computer Language Benchmarks Game测试了一下各种语言的速度,共有4个平台:
Ubuntu™ : Intel® Q6600® quad-core (32位4核)
x64 Ubuntu™ : Intel® Q6600® quad-core (64位4核)
x64 Ubuntu™ : Intel® Q6600® one core (64位1核)
Ubuntu™ : Intel® Q6600® one core (32位1核)

排前3的分别为:C++ > C > ATS。此外,Java的表现也很抢眼。C# mono由于不是原生的,比Java慢了约50%。

Python和Java代码的一个简单比较

标签:Java, Python, 性能

我想概述什么的大家都看烦了,所以我就直接以代码来说明了。

这个例子是从一个UTF-8编码的文本文件里读取所有字符,转换成Shift-JIS编码,再将每个字节与0xAB异或,最后写入另一个文件。可以算是破解日文游戏经常需要做的事,尚据一定代表性吧~

在GAE中更高效地存储无需索引的数组

标签:Google App Engine, Python, 性能

今天在GAE论坛看到有人说ListProperty太慢了,即使加上indexed=False也非常慢,而用pickle技术保存成Blob类型就会快10倍。

对于这点,Nick Johnson提到了《Store arrays of numeric values efficiently in the datastore》这篇文章。
他的解释是ListProperty会将其中的每个元素编码成一个独立的属性,并多次对其进行序列化,所以会造成很大的开销。
而pickle虽然可以让其只保存成一个元素,但兼容性可能并不好,也不是特别高效。

升级了一下硬盘驱动

标签:性能

从8.2.4.1005升级到8.8.0.1009了。

用Crystal Disk Mark 2.2测试了5次:

GAE的数据库测试:Java性能比Python慢5倍!

标签:Google App Engine, 性能

刚才写了个测试项目,被Java囧到了,速度比Python慢了约5倍。

测试方法是创建100个只含一个字符串的实体,保存到数据库。
再从数据库获取100个,然后删除这些实体。

你可以在这测试(不过别测太多了,CPU消耗太大了):
Java:http://java.latest.gaejava.appspot.com
Python:http://python.latest.gaejava.appspot.com

Live Query真是个不错的jQuery插件

标签:JavaScript, jQuery, 性能

jQuery的事件处理是非常强大的,然而美中不足的是,它只能对当前存在的jQuery对象绑定事件,这就使得动态创建的对象必须再次绑定事件。
虽然jQuery 1.3推出了live函数,可以自动捕捉新增对象的事件,不过支持的事件较少,且有时会因为其他插件未考虑live函数,没有让事件冒泡而使live失效。

« 看看还有什么好玩意