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

290 天前
 ShadowPower

今天看到一张图:

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

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

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


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

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

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

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

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

© 2021 V2EX