编译到 ARM 指令的复杂度比编译到 x86 更低吗?

2024-03-25 19:04:17 +08:00
 ShadowPower

今天看到一张图:

我想知道这其中的巨大差距是如何产生的……

2441 次点击
所在节点    程序员
10 条回复
iClass
2024-03-25 19:08:51 +08:00
差距不大,高通仍需努力。
kneo
2024-03-25 19:09:39 +08:00
visual studio code 不是 electron 吗?这个编译还涉及到指令集?
ysc3839
2024-03-25 19:12:54 +08:00
印象中听过一种说法,RISC 更依赖编译器优化?不过图中应该是 Intel 自身性能问题。
kokutou
2024-03-25 19:21:31 +08:00
骁龙 x elite 可以配置到 80w 功耗。。。
对比机是多少 w 的没说
WWKvR5Zf41968v20
2024-03-25 19:33:18 +08:00
Elite 本绑 5g ,价格下不来,可惜了。
这图单纯是 intel 不行吧。
agagega
2024-03-25 20:08:09 +08:00
这开局一张图什么细节也没说,不好讲。虽然编译到 CISC 的逻辑多少比到 RISC 复杂点(大部分 IR 也都是一个类精简指令集的模型,另外寄存器分配还要考虑直接用内存地址作 operand 的情况),但编译时间绝对大头肯定是优化,这部分和目标平台没啥关系。
secondwtq
2024-03-26 00:40:37 +08:00
每个 ISA 都有自己的坑,不好说哪个编译起来更复杂。同一个编译器,不同后端下的功夫也不一样,你可以只做最基本的指令选择寄存器分配,不做优化,就说我编译没编译吧。就不说不同编译器版本和编译选项的坑了。这个还可以套娃:就是你编译器本身是怎么编译的?就不说拿 -O0 的编译器来跑这种老六行为,就现有主流编译器,过一遍 LTO+PGO 或者 post-link optimization 就能有两位数百分点的提升。

最好还是统一编译到同一架构来比较。
而这个图压根没有给出任何相关信息,作为性能比较是不合格的。


@agagega #6
> 编译时间绝对大头肯定是优化,这部分和目标平台没啥关系。
感觉真不一定,几个重量级:C++,Rust ,Haskell ,Scala
SlimeYummy
2024-03-26 08:18:13 +08:00
正好在 x64 和 arm64 搭过 Rust/clang 的 CI ,用的 CircleCI 同样配置的 Linux 机器,没感觉到差距,可能 x64 略快一点点。不过 arm64 编译到 wasm 的时候明显比 x64 慢。
leetom
2024-03-26 09:38:11 +08:00
你是不是理解错这个意思了?
这里应该是说使用两种不同的 CPU 来用 VSC 编译相同的代码,使用的时间,并没有说目标指令集。
elechi
2024-03-26 13:53:01 +08:00
这只是指编译速度快,编译速度快是多方面的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1026899

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX