使用 Javascript 在 localStorage 中查找值的速度有多快?
有没有人有指向任何性能测试的链接,这些测试表明是否值得在 JavaScript 对象中缓存数据?或者浏览器是否已经缓存了从 localStorage 访问的值?
我对 localStorage 的 Firefox 和 Chrome 实现特别感兴趣。
最佳答案
刚刚做了个小benchmark。我打算做的是经常从 localStorage 获取一些数据,我想知道它会阻止。虽然 localStorage.getItem 是同步操作,但听起来很可怕,是吗?
- 第一次测试调用 100 万次 localStorage 以获取确实存在的项目。
- 第二次测试调用 localStorage 100 万次以获取不存在的项目。
结果:
"Item found: 0.0007991071428571318ms per call"
"Item not found: 0.0006365004639793477ms per call"
简而言之 - 只需使用它。这不需要时间。 1 毫秒的 0.0007。
https://jsbin.com/resuziqefa/edit?js,console
let results = [];
let sum = 0;
localStorage.setItem('foo', 'foo bar baz foo bar baz foo bar baz foo');
for (let i = 0; i < 1000000; i++) {
let a = performance.now();
localStorage.getItem('foo');
let result = performance.now() - a;
sum += result;
results.push(result);
}
console.log(`Item found: ${sum / results.length}ms per call`);
results = [];
sum = 0;
for (let i = 0; i < 1000000; i++) {
let a = performance.now();
localStorage.getItem('bar');
let result = performance.now() - a;
sum += result;
results.push(result);
}
console.log(`Item not found: ${sum / results.length}ms per call`);
关于javascript - 本地存储的速度/成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8074218/