我正在建立一个使用
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实现的相关细节,以解释跨浏览器的效率和延迟的巨大差异?
不幸的是,我怀疑我们将能够解决问题,但是我们可以得到的最少是了解浏览器在当前状态下的局限性.
谢谢!