V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ShadowPower
V2EX  ›  程序员

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

  •  
  •   ShadowPower · 247 天前 · 1943 次点击
    这是一个创建于 247 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天看到一张图: img

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

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

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


    @agagega #6
    > 编译时间绝对大头肯定是优化,这部分和目标平台没啥关系。
    感觉真不一定,几个重量级:C++,Rust ,Haskell ,Scala
    SlimeYummy
        8
    SlimeYummy  
       247 天前 via Android
    正好在 x64 和 arm64 搭过 Rust/clang 的 CI ,用的 CircleCI 同样配置的 Linux 机器,没感觉到差距,可能 x64 略快一点点。不过 arm64 编译到 wasm 的时候明显比 x64 慢。
    leetom
        9
    leetom  
       246 天前
    你是不是理解错这个意思了?
    这里应该是说使用两种不同的 CPU 来用 VSC 编译相同的代码,使用的时间,并没有说目标指令集。
    elechi
        10
    elechi  
       246 天前
    这只是指编译速度快,编译速度快是多方面的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2970 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:18 · PVG 08:18 · LAX 16:18 · JFK 19:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.