dan*_*dan 12 mac cpu intel-core-i5 benchmarking
鉴于以下 CPU 和 GeekBench 分数:
Amazon EC2 z1d.large 实例:Intel Xeon Platinum 8151 4061 MHz(1 核)单核得分:1094,多核得分:1300
Macbook Pro 笔记本电脑:英特尔酷睿 i5-8259U 2300 MHz(4 核)单核得分:1002,多核得分:4104
Xeon 在单线程基准测试中的速度提高了 9.1%。
但是,当我在两台设备上编译 javascript 应用程序代码(单线程)时,至强完成任务的速度提高了 60%。为什么?基准分数表明至强仅快 9%。
他们都有 NVME 驱动器,所以这不应该是瓶颈。我认为也不会有 Mac 与 Linux 操作系统的问题,因为 Mac 是基于 linux 的。
这是因为至强是服务器/台式机 CPU 吗?并以 100% 的速度和功率运行,而 Macbook Pro CPU 没有以全功率运行,必须等待 Intel Turbo Boost 加速?
Mok*_*bai 50
基准是一些非常具体的性能特征(峰值指令率)的模糊手波,通常不考虑系统中的其他因素。
可以对程序产生重大影响但不会达到峰值指令率的非详尽清单:
消费级 CPU 确实很强大,但服务器级 CPU 对更广泛的系统具有更多的逻辑、控制和带宽。不过,一般来说,这很好。我们不希望 15 瓦处理器的性能与具有 140 瓦功率预算的贵 10 倍的 CPU 相同。额外的功率预算提供了更多的自由。
如果服务器 CPU 具有与台式机或笔记本电脑 CPU 相同的性能,那么两者之间就不会有区别。
只是为了进一步说明这一点:类似的单核分数只是告诉您,在理想条件下,这些内核具有合理的可比性。从理论上讲,它们在性能方面可能接近,但它并没有告诉您有关更广泛的系统以及 CPU 在与其他组件绑定时的能力的任何信息。单核速度人为地集中在系统中的一个小点上,这比系统的大多数正常使用会遇到的要多。
有关为什么一个系统比另一个系统“更好”的更多信息,您需要更多地查看所谓的“真实世界”基准测试,它会显示(仍然是人为的,但)更具可比性的系统性能指标,并希望给出一些可能存在瓶颈的想法. 更好的是,您进行的那种测试表明对于该工作负载,具有底层架构和组件的服务器类系统要好得多。
小智 7
Intel Corporation 的Intel Xeon Platinum 8151 规格
英特尔公司的英特尔 i5-8259U 规格
处理器缓存是处理器存储最近写入或读取的值而不是依赖于主系统内存的地方。
更高总线速率的 DDR4 也有助于提高速度。更不用说 Xeon 具有事务同步扩展而 i5 没有。
它们不属于同一类处理器,但希望以上信息对您有所帮助,英特尔公司的链接有助于验证我的回答的有效性。
鉴于您描述的任务、编译 Bable 项目以及所涉及的 CPU,我想我知道性能差异的根源。我想早点回答,但必须做一些研究来证实我的预感。
首先,让我们描述一下您施加在系统上的负载。
Babel.js 被编写为单线程、单进程编译器,主要利用异步 I/O 来实现并行性(至少我在 google 上搜索到的任何内容都表明它使用工作线程)。由于它是一个从磁盘编译文件的编译器,因此其执行的很大一部分涉及等待来自磁盘的数据。这给我们带来了以下工作量:
单线程,因此多核或超线程对编译没有显着影响,但有一个警告:
Node.js 使用工作线程来处理磁盘 I/O,但除了两个或四个硬件线程之外,多核没有额外的优势(请参阅: https: //nodejs.org/en/docs/guides/dont-block-the -事件循环/)
大多数并行性发生在 I/O 级别。Babel 将尝试并行读取尽可能多的文件。
i5 和 Xeon 在第 1 点和第 2 点上具有相当的可比性。因此,让我们看看 CPU 如何处理第 3 点:服务 Babel 的并行文件读取请求。
这是两个系统之间的第一个重大区别:
Core i5 8259 有 16 个 PCI 通道
Xeon 8151 有 48 个 PCI 通道
很明显,Xeon 可以比 i5 处理更多的并行 I/O 操作。当 I/O 数量多于可用内存传输通道数量时,操作系统的处理方式与任务数量多于可用硬件线程数量时的处理方式相同:它将它们排队并强制它们轮流执行。
接下来我想知道 NVME 是否真的可以使用多个通道。这是我发现另一个有趣的事实的地方。NVME 标准允许卡使用最多 4 个 PCI 通道(物理上分配了许多连接),但有些卡仅使用 2 个,而其他卡则使用 4 个。因此,并非所有 NVME 卡都是一样的。仅此一项就可以让 Babel 以几乎双倍的带宽并行复制到 RAM 的文件数量增加一倍。
它还取决于 NVME 插槽如何连接到 CPU。Core i5 只有 16 个 PCI 通道,毫无疑问会为 GPU 保留至少 8 个通道。只剩下 8 个可以在其他设备之间共享。这意味着有时您的 NVME 卡必须与 Wifi 或其他硬件共享带宽。这会减慢速度。
您的 NVME 甚至可能没有直接连接到 CPU 的 PCI 通道。Macbook 实际上可能为 GPU 保留所有 16 个通道,并通过其南桥(可能有额外的 PCI 通道)连接到 NVME。我不知道 Macbook 是否会这样做,但这可能会进一步降低性能。
相比之下,Xeon 拥有大量通道,使主板设计人员能够更自由地创建真正快速的 I/O 平台。此外,AWS服务器通常没有安装GPU,因此不需要预留任何通道供GPU使用。再说一次,我个人并不了解 AWS 服务器的实际架构,但有可能创建一个在编译 Babel 项目时性能优于 Macbook 的服务器。
所以最终使EC2实例能够胜过Macbook的主要因素是:
CPU直接支持的PCI通道数
NVME驱动器支持的PCI通道数
NVME 通道如何连接到 CPU
其他可能起作用的因素包括:
I/O 总线的速度(PCI2 与 PCI3 等)
内存速度
可用 DMA 通道的数量(仅此一项就需要很长的答案,所以我有点跳过它,但推理与 PCI 通道类似)
| 归档时间: |
|
| 查看次数: |
7133 次 |
| 最近记录: |