Mozilla Firefox中的本地存储读/写性能

时间:2011-09-08 22:03:14

标签: javascript html5 firefox gwt local-storage

我正在测试不同的浏览器如何从本地存储读取/写入大量数据。样本数据是1500个客户记录,其中包含每个人的一些数据集(名字,姓氏,其位置,类型等的一些ID)。测试应用程序基于GWT paltform。

我注意到IE8,IE9,Chrome在从本地存储(而不是从Web服务器)加载数据后,性能提升了至少30%。只有Firefox(5.0)才能使结果恶化(大约慢30%)。远程网络服务器用于将某种现实带入实验。 浏览器之间的差异在小数据块(100-200条记录)上几乎不可见,并且结果时间也将大致相同。但是大量数据揭示了这个问题。

我发现在mozilla支持网站上提到了这个问题 - https://support.mozilla.com/en-US/questions/750266 但仍然没有解决方案或解决方法如何解决它。

Javascript分析显示在GWT StorageImpl.java类中实现的函数调用

function $key(storage, index){
   return index >= 0 && index < $wnd[storage].length ? 
                $wnd[storage].key(index) : null;
} 

在执行期间占据了大部分时间。这实际上是GWT中的storage.getItem(key)调用。

为了避免这种频繁的调用,我宁愿选择单个调用来将存储内容转换为地图,这可能有助于我节省在Firefox的缓存I / O操作上花费的时间(如果有的话)。但是存储接口(http://dev.w3.org/html5/webstorage/#storage-0)仅包含getItem()函数以从存储中接收任何内容。

有关如何强制Firefox 更快的任何想法?

P.S。也许对某人有用:我使用插件SQLite管理器找到FF本地存储内容,并从默认内置数据库的下拉列表中加载 webappstore.sqlite 数据库。

1 个答案:

答案 0 :(得分:0)

您正在测试哪个版本的Firefox?你在support.mozilla.org上的帖子提到了Firefox 3.6.8,你提到IE,所以大概是在Windows上,在这种情况下你可能会点击{4}}在Firefox 4中修复了。或者你看到了最近的Firefox出现问题?