2009 10 18 09:30 PM 5764 次查看
分类:Google App Engine 标签: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%的概率可以让用户感觉不错,这个性能确实很糟糕。
2009 9 19 10:35 AM 2081 次查看
分类:编程 标签:性能
2009 9 19 02:37 AM 2165 次查看
分类:编程 标签:性能
刚才去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%。
2009 9 12 04:52 PM 2805 次查看
分类:Web 标签:Python, 性能
Tornado是由Python编写的,被设计成能处理数千条同时发生的请求。
2009 9 12 04:25 AM 11975 次查看
分类:编程 标签:Java, Python, 性能
我想概述什么的大家都看烦了,所以我就直接以代码来说明了。
这个例子是从一个UTF-8编码的文本文件里读取所有字符,转换成Shift-JIS编码,再将每个字节与0xAB异或,最后写入另一个文件。可以算是破解日文游戏经常需要做的事,尚据一定代表性吧~
2009 9 6 11:29 AM 1907 次查看
分类: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 8 22 04:07 PM 2281 次查看
分类:Google App Engine 标签:Google App Engine, Python, 性能
Google App Engine的数据库查询对象有Query和GqlQuery这2种类型,其创建方式完全不同。粗略看上去,GqlQuery的分析量更大,需要消耗更多的CPU时间;不过有bind方法,使其可以重复使用。
2009 7 9 11:45 AM 1217 次查看
分类:无 标签:性能
从8.2.4.1005升级到8.8.0.1009了。
用Crystal Disk Mark 2.2测试了5次:
2009 6 17 05:34 PM 3315 次查看
分类:Google App Engine 标签:Google App Engine, 性能
刚才写了个测试项目,被Java囧到了,速度比Python慢了约5倍。
测试方法是创建100个只含一个字符串的实体,保存到数据库。
再从数据库获取100个,然后删除这些实体。
你可以在这测试(不过别测太多了,CPU消耗太大了):
Java:http://java.latest.gaejava.appspot.com
Python:http://python.latest.gaejava.appspot.com
2009 5 23 07:57 PM 6174 次查看
分类:JavaScript 标签:JavaScript, jQuery, 性能
jQuery的事件处理是非常强大的,然而美中不足的是,它只能对当前存在的jQuery对象绑定事件,这就使得动态创建的对象必须再次绑定事件。
虽然jQuery 1.3推出了live函数,可以自动捕捉新增对象的事件,不过支持的事件较少,且有时会因为其他插件未考虑live函数,没有让事件冒泡而使live失效。
« 看看还有什么好玩意