HTML localStorage setItem和getItem性能接近5MB限制?

我正在建立一个使用 HTML localStorage的小项目.虽然我没有接近localStorage的5MB限制,但我决定做压力测试.

本质上,我将数据对象加载到单个localStorage对象中,直到它稍微低于该限制,并且必须请求设置并获取各种项目.

然后我定时执行setItem和getItem using the javascript Date object和事件处理程序(绑定获取并设置为HTML中的按钮,只需点击= P)

表现是可怕的,要求在600ms到5,000ms之间,内存使用量在接近20万的情况下接近20万.这是在MacOSX上使用Google Chrome的单一扩展名(Google Speed Tracer).

在Safari中,基本上都是4,000ms以上.

Firefox是一个惊喜,几乎没有超过150毫秒.

这些都完成了基本上是空闲的状态 – 没有YouTube(Flash)的方式,没有很多选项卡(除Gmail之外),没有应用程序打开除了后台处理浏览器.一旦出现内存密集型的任务,localStorage也会逐渐减慢. FWIW,我正在运行2008年底Mac – > 2.0Ghz双核与2GB DDR3内存.

===

所以问题:

>有没有人完成了针对localStorage的基准测试,并设置各种不同的键值和值大小,以及在不同的浏览器上?
>我假设Firefox之间的延迟和内存使用的差异很大,其余的是Gecko vs Webkit问题.我知道答案可以通过潜入这些代码库来找到,但我一定想知道其他人是否可以在这两个引擎上解释localStorage实现的相关细节,以解释跨浏览器的效率和延迟的巨大差异?

不幸的是,我怀疑我们将能够解决问题,但是我们可以得到的最少是了解浏览器在当前状态下的局限性.

谢谢!

解决方法

浏览器和版本成为这里的主要问题.事实是,虽然有所谓的“基于Webkit的”浏览器,他们也添加了自己的修补程序.有时候,它们会进入主要的Webkit存储库,有时它们不会.关于版本,浏览器总是移动目标,所以如果您使用测试版或夜间版本,这个基准测试可能会完全不同.

那就是整体用例.如果你的用例不是规范,那么这个问题就不会那么明显了,而且不太可能被注意到并且被广泛使用.即使有补丁,浏览器厂商也有很多问题需要解决,所以有机会为另一个版本设置(再次,夜间版本可能会产生不同的结果).

老实说,如果还没有解决,最好的方法是在适当的浏览器邮件列表/论坛上讨论这些结果.人们将更有可能做测试,看看结果是否匹配.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


html5中section的用法
span标签和p标签的区别
jsp文件和html文件的区别是什么
span标签和div的区别
html颜色代码表大全
span标签的作用是什么
dhtml的主要组成部分包括什么
html编辑器哪个软件好用
span标签属于什么样式标签
html文件乱码怎么办
html怎么读取json文件
html文件打开乱码怎么恢复原状
html怎么链接外部css
html文件怎么保存到本地
html怎么链接css文件
html和css怎么连接
html和css怎么关联
html文件怎么保存到一个站点
html文件怎么写
html出现乱码怎么解决