《Web性能实践日志》一第2章 localStorage读取性能2.1 基准测试

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

本节书摘来自异步社区《Web性能实践日志》一书中的第2章,第2.1节,作者【加拿大】Stoyan Stefanov,更多章节内容可以访问云栖社区“异步社区”公众号查看

第2章 localStorage读取性能

Web性能实践日志
作者:Nicholas Zakas

在Web开发人员使用的工具中,Web Storage(http://dev.w3.org/html5/webstorage/)迅速成为了HTML5新增的最受欢迎的功能。具体来说,localStorage提供了快速简单的客户端数据存储功能,可以跨多个会话存储数据,这使得localStorage在世界各地Web开发人员中被广为应用。通过使用简单的键值接口,我们看到很多网站以各种独特而有趣的方式应用localStorage这一技术。

Disqus(http://www.disqus.com/),是一个非常流行的反馈管理系统。它使用localStorage来实时保存您正在输入的评论。因此,即使有可怕的意外发生,你也可以重启浏览器,从出现问题之前的地方继续。
谷歌(http://www.google.com/)和Bing(http://www.bing.com/)用localStorage存储JavaScript和CSS,来改善他们的移动网站性能。
在我了解的案例中,Google/Bing的这种方式似乎越来越受人们的欢迎。部分原因是由于HTML5 application cache使用困难,部分原因是该技术得到了Steve Souders和其他人的青睐。事实上,随着我越来越多地和人们提及localStorage以及用它来存储UI相关信息是多么的有用,我发现更多人开始尝试这种技术。

我发现一个令人费解的现象,人们在使用localstorage时有一个内定不成文的假设:从localStorage读取数据开销不大。我曾经从其他开发者那里听到传言说遇到异常的性能问题,所以我设计了一个实验来量化localStorage的性能特点,以确定用它读取数据的实际成本。

2.1 基准测试

不久前,我创建并共享了一个简单的基准测试,来测量从localStorage取值和从一个对象属性取值的性能。有人基于这个测试做了改良,并开发了更可靠的版本(http://jsperf.com/localstorage-vs-objects/10)。最终结果是:每个浏览器中,从localStorage读取数据比从对象属性中读取相同数据慢几个数量级。到底有多慢呢?请看图2-1所示(数字越高越好)。


0f4ce39723948133796d15388c3d776cef37c968

看了这个图后,你可能会感到困惑,因为它似乎没有展示出从localStorage中读取数据的结果。事实上它被展现出来了,你看不到它的原因是这一数字实在太小,在图示比例上甚至不可见。除了Safari 5可以显示实际的localStorage的读取数据结果,所有其他浏览器的巨大差异使得你根本不可能在这张图上看到实际数据。当我调整y轴的值后,你才可以看到不同浏览器中的测量结果。

通过改变y轴的比例,现在你可以看到从local Storage和从对象属性读取数据的真实对比(见图2-2)。可以看出,结果仍然如此,几乎到了滑稽的程度,这是为什么呢?

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
23天前
|
存储 调度 C++
16 倍性能提升,成本降低 98%! 解读 SLS 向量索引架构升级改造
大规模数据如何进行语义检索? 当前 SLS 已经支持一站式的语义检索功能,能够用于 RAG、Memory、语义聚类、多模态数据等各种场景的应用。本文分享了 SLS 在语义检索功能上,对模型推理和部署、构建流水线等流程的优化,最终带给用户更高性能和更低成本的针对大规模数据的语义索引功能。
173 14
|
21天前
|
Java 测试技术 网络安全
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
56 0
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
|
25天前
|
安全 Linux iOS开发
Burp Suite Professional 2025.10 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.10 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
193 3
|
2月前
|
安全 NoSQL Shell
web渗透-SSRF漏洞及discuz论坛网站测试
SSRF(服务器端请求伪造)是一种安全漏洞,攻击者可诱使服务端发起任意请求,进而探测或攻击内网系统。常用于端口扫描、访问内部服务、读取本地文件等。常见防御包括限制协议、域名和IP,但可通过302跳转、短地址等方式绕过。
186 1
web渗透-SSRF漏洞及discuz论坛网站测试
|
6月前
|
前端开发 算法 API
构建高性能图像处理Web应用:Next.js与TailwindCSS实践
本文分享了构建在线图像黑白转换工具的技术实践,涵盖技术栈选择、架构设计与性能优化。项目采用Next.js提供优秀的SSR性能和SEO支持,TailwindCSS加速UI开发,WebAssembly实现高性能图像处理算法。通过渐进式处理、WebWorker隔离及内存管理等策略,解决大图像处理性能瓶颈,并确保跨浏览器兼容性和移动设备优化。实际应用案例展示了其即时处理、高质量输出和客户端隐私保护等特点。未来计划引入WebGPU加速、AI增强等功能,进一步提升用户体验。此技术栈为Web图像处理应用提供了高效可行的解决方案。
|
6月前
|
人工智能 安全 网络安全
Burp Suite Professional 2025.5 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.5 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件
269 3
|
安全 JavaScript 前端开发
AppSpider 7.5.020 发布 - Web 应用程序安全测试
AppSpider 7.5.020 for Windows - Web 应用程序安全测试
59 0
|
2月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.9 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
324 0
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
|
2月前
|
运维 监控 安全
EventLog Analyzer:高效的Web服务器日志监控与审计解决方案
ManageEngine EventLog Analyzer是一款企业级Web服务器日志监控与审计工具,支持Apache、IIS、Nginx等主流服务器,实现日志集中管理、实时威胁检测、合规报表生成及可视化分析,助力企业应对安全攻击与合规挑战,提升运维效率。
133 0