每当您将 URL 输入系统时,都必须对其进行解析和验证。这是一项极具挑战性的任务:解析一个典型的 URL 可能需要数百纳秒,甚至可能超过一千个周期。
我们可以使用 URL 解析作为系统性能的合理基准。当然,没有任何一种方法是足够的……但是 URL 解析很有趣,因为它是一项相当通用的任务,涉及字符串、子字符串和字符搜索等等。
我将比较以下基于 ARM 的系统:
- c7g.large :运行 Ubuntu 22.04 (GCC 11) 的 Amazon Graviton 3
- macBook Air 2022 :Apple M2 LLVM 14
- Windows Dev Kit 2023 :Qualcomm 8cx 第三代在 WSL (Windows 11) 中运行 Ubuntu 22.04 (GCC 11)
Windows 开发工具包是一个小塑料盒,旨在让 Windows 开发人员为 Windows 64 位 ARM 准备好他们的应用程序。这是我放在办公桌上的一个微型低功耗设备。 Amazon 的 Amazon Graviton 3 节点是他们最好的基于 ARM 的服务器。 macBook Air 包含市场上最好的笔记本电脑处理器之一。
我们运行的基准测试加载了在前 100 个访问量最大的网站上找到的 100,000 个 URL。它是单线程的,不需要磁盘或网络访问:它是一个纯粹的 CPU 测试。
我运行以下程序:
- git 克隆 https://ift.tt/IM39Jnw
- CD ADA
- cmake -B 构建 -D ADA_BENCHMARKS=ON
- cmake --build build --target benchdata
- ./build/benchmarks/benchdata --benchmark_filter=BasicBench_AdaURL_aggregator_href
引力子 3 | 285 纳秒/网址 |
苹果M2 | 190 纳秒/网址 |
高通 8cx 第三代 | 245 纳秒/网址 |
我们还可以绘制这些平均时间。
在这个特定的基准测试中,高通处理器比 Apple M2 处理器慢 30%。这是意料之中的:Apple Silicon 总体上更胜一筹。
然而,在这个特定的测试中,高通系统击败了亚马逊的 Graviton 3 节点。在相关基准测试中,我展示了 Graviton 3 具有竞争力的性能,可以击败最先进的 Intel Ice Lake 节点。
总体而言,这些数字表明高通处理器具有竞争力。它不太可能创造速度记录,但如果是为了低功耗,我不会回避基于高通的系统。
我的结果有误导性的可能性有多大?它们似乎与 Alex Ellis 运行更完整的基准测试的结果大致相符:
所以我相信我的结果大致是正确的:Qualcomm 不如 Apple Silicon,但差距不是很大。
另一个问题是 Windows 性能本身。大部分 Windows 仍然是特定于 x86 的,尽管 Windows 可以在 64 位 ARM 下模拟运行 x86 应用程序,但可能会有很大的损失。尽管如此,我自己的体验还是相当不错的。当然,我不在这些机器上玩游戏,也不做视频编辑。你的里程会有所不同。