10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

XML 能够拥有与 JSON 相当的性能

  • 2013-08-14
  • 本文字数:1004 字

    阅读完需:约 3 分钟

对于与 JSON 的轻量级负荷相比,“胖” XML 是如何缓慢、如何消耗资源的众多推测,都在 David Lee 的一项测试面前败下阵来。David 是 Marklogic 的首席工程师,他的实验使用 33 份不同文档,对最常用的浏览器和操作系统做了接近 1200 项测试。而后他表示,实验发现, 对于总体用户体验方面的性能来说(传输、解析和查询某文档),XML 和JSON 格式几乎难分轩轾。

在实验中,David 创建了一个公开测试环境,模拟了这样的用例:使用Web 服务器传输XML 和JSON 文档,并在Web 浏览器中解析和查询。服务器为客户端提供源数据并收集客户端提交的结果。客户端是一个基于浏览器的JavaScript 应用,其中除了测试jQuery 性能的部分外,还包含了使用JavaScript 人工编写的性能测试部分。

David 使用了 7 份不同文档,它们的大小分布在从 100KB 到 1MB 的区间里,并且每份文档采用两种 JSON 和三种 XML 变体。此外,他还尝试让测试覆盖大量的设备、浏览器、操作系统和网络。为了实现这一目的,他采用了“众包”的方式,也即将测试环境 URL 公布出来,并发布到一系列邮件列表和社交媒体网站上。迄今为止,已经成功收集了接近 1200 份独立、有效的测试结果,覆盖了最常用的浏览器和操作系统。在文章中,David 记录了全部测试数据,以及来自不同测试的结果。

通过该实验,David 得出的部分结论如下:

  • 解析速度与使用的技术有关。一般来说,纯 JavaScript 解析 XML 比解析 JSON 表现要好,而对 JSON 的查询速度一般则更快一些。不过对两种格式也都存在一些测试结果相反的例外。
  • 使用 JavaScript 库 jQuery ,会对 JSON 造成严重的影响,而对 XML 来说则更糟。
  • 用各种格式压缩后的文档——即使对非常大的 JSON 或 XML 文档——两种格式都会压缩到近乎同样的大小,这意味着他们实际上包含几乎一样的信息内容。
  • 当将文档传输到广泛的设备上时,对每个终端来说传输所花费的时间几乎都是相同的,而与标记格式无关

基于他的实验,David 为架构师和开发者提出了若干建议,包括:

  • 使用 HTTP 压缩,在大多数情况下它是对整体性能影响最大的单一因素。
  • 优化传输和查询的标记。
  • 除非与其他问题相比,数据传输、解析和查询是显著问题,否则不要进行优化。

最后,David 给出了一条忠告:

不要轻信任何人。

不要盲目地相信别人告诉你的东西。自己动手实验,基于自己的用户和设备来测试自己的数据和代码。那些“看起来显而易见”的事情并不总是对的。

查看英文原文: XML Can Give the Same Performance as JSON

2013-08-14 02:426274
用户头像

发布了 256 篇内容, 共 83.9 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

怎么才能知道你的Mac的系统性能呢?Geekbench 5性能测试

Rose

如何使用CAD看图软件放大图纸文字?

在路上

cad cad看图 CAD看图王

2025校招/社招Java八股文面试题库,横扫大厂后端岗

Geek_Yin

Java 程序员 java面试 Java面试题

三大 Mac 软件下载站,总有一款适合你!

晨光熹微

Ableton Live 12 Suite for mac v12.2中文:音乐制作软件

晨光熹微

mac苹果设备电量信息实时显示AirBattery免费

Rose

基于生成式物理引擎的AI模型训练方法论

申公豹

人工智能

CAD看图软件可以进行标注吗?

在路上

cad cad看图 CAD看图王

现代财务——智能技术背景下的企业变革

智达方通

全面预算管理 财务管理

IPv6检测指标中的IPv6授权体系是什么意思?(国科云)

国科云

简单了解一下数据安全定义以及意义

行云管家

网络安全 数据安全 堡垒机

动漫与游戏产业用到堡垒机的必要性你知道吗?

行云管家

网络安全 等保 堡垒机 游戏行业

梁汝波:字节跳动要以持续智能突破,坚定服务产业应用

新消费日报

这几道Java集合框架面试题在面试中几乎必问

Geek_Yin

Java 程序员 java面试 Java面试题

云原生数据库架构设计指南——基于YashanDB的方案解析

数据库砖家

苹果访达Finder增强工具TotalFinder 中文版,让效率提升!

Rose

四维图新与阿里云达成战略合作,联合打造汽车行业一揽子解决方案

科技汇

感谢艾瑞白皮书“点名”,但网易的挖掘机器人真不是“打游戏送的”

网易伏羲

数字孪生 人机协作 网易伏羲 工程机械

整合YashanDB数据库与人工智能技术的优势

数据库砖家

Ableton Live 12 Suite v12.2中文版注册机+许可证

Rose

流批一体向量化引擎Flex

Apache Flink

大数据 flink 流批一体

电线电缆行业MES系统:实现智能制造与全流程追溯

万界星空科技

制造业 mes 万界星空科技mes 电线电缆行业 电线电缆mes

苹果macOS 26兼容设备 macos 26完整pkg安装程序

Rose

Hype 4 Pro 4.1.19 - 创建动画和交互式的Web内容

Rose

ZAB 与 Paxos:分布式一致性算法的工程实践与深度对比

异常君

zookeeper 分布式 ZAB PAXOS Java.

火热报名中丨暨2025第三届中国SRE大会,将于6月26日在上海召开

雅菲奥朗

AI 可观测性 2025SRE大会

【JeecgBoot AIGC】AI知识库实战应用与搭建

JEECG低代码

AI大模型 AI应用 AIGC JeecgBoot

优化YashanDB查询逻辑提高响应速度

数据库砖家

3D数字绘画和雕刻 Mudbox 2025新功能

Rose

鸿蒙Next仓颉语言开发实战教程:订单列表

幽蓝计划

AI 技术在图书馆业务中的应用

北京木奇移动技术有限公司

软件外包公司 AI技术应用 图书馆信息化

XML能够拥有与JSON相当的性能_SOA_Jan Stenberg_InfoQ精选文章