Linux上SQLite性能长了


03/26/09。  cathayan.org版权所有,保留一切权利。转载请保留此说明。谢绝商业转载。

说有个网站对一串Linux内核上桌面软件的性能进行了评测,使用的是Ubuntu那个公司出的一系列纯内核,不打补丁的,从2.6.24到2.6.29,其他软件都是标准的Ubuntu 8.10,包括X Server 1.5.2, GCC 4.3.2, GNOME 2.24.1, xf86-video-intel 2.4.1, Mesa 7.2, EXT3文件系统。

在许多桌面应用相关的性能当中,有两项进步非常大,一项是OpenSSL的RSA 4096位签名,性能从2.6.28到2.6.29提升了一倍,另一项是SQLite,执行12500个数据库插入操作的时间又恢复到2.6.24时代的水平,比2.6.26/27/28的100多秒的用时少了很多,只用时28秒。

SQLite这个性能很关键,是因为现在用它的软件越来越多,著名的就是Firefox,它把用户浏览历史、书签、搜索、下载等等这些记录性质的东西全部存在SQLite数据库里,性能低的话很要命。以前迫不得已只好关闭最大的用于分辨低俗危险网站的urlcassifier功能。后来发现那个著名的Awesomebar,也就是地址栏上自动地智能地匹配用户输入的功能也很要命,反应太慢,好机器可能不明显,T40这样的老机器就受不了,只好关闭匹配项到0,但又不爽,只好开到2或3,似乎要好一些。

当时Firefox 3推出时正好碰上的就是2.6.26,看来是性能正好差了,据说原因是Linux上面文件系统等等什么的问题;等到2.6.29进Debian了,再看看性能有无改善吧。

在此之前,还有人发掘出来一个SQLite操作,VACUUM命令,差不多是对数据库进行整理排序的操作,整理之后也许能快点。

上面那个Ubuntu blog上给出的是个脚本,每次启动Fx都对Profile目录下的sqlite数据库进行整理,应该是挺有用的。我的Places.sqlite现在有13MB大,整理之后小了3MB,在地址栏上用似乎是快了一点 :P

整理命令是:sqlite3 places.sqlite 'VACUUM;' 。

03/26/09 11:15:25,由cathayan发表。目录:电脑

Comments

2条评论

Terry Wang:

?????places.sqlite???40.2M????34.8M????????????????

Firefox???????????????addons??????...
于 03/30/09 08:49:45 发表  http://terrywang.net

cathayan:

?????????????????????
于 03/30/09 13:44:29 发表  

Add Comments

This item is closed, it's not possible to add new comments to it or to vote on it

TrackBack