V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jdz
V2EX  ›  程序员

ai 时代, Java 性能应该很快就超越 cpp 了吧,毕竟 ai 可以写出更优秀的 jit

  •  
  •   jdz · 1 天前 via Android · 4537 次点击
    73 条回复    2024-12-29 13:26:41 +08:00
    geelaw
        1
    geelaw  
       1 天前   ❤️ 12
    如果我们要坚持 AI 战胜一切的逻辑:为什么 AI 不能写出更优秀的 C++ 编译器?

    Java 性能超越 C++ 的途径主要是动态测量导向的优化( dynamic PGO ),如果不采用这点,再厉害的 JIT 也没有意义,因为“C++ 的 JIT”是最快的——无需再做任何翻译。另外 rule-based AI 也是 AI ,但如果你要说是 LLM 的话,它写出来的编译器能让程序迅速崩溃就不错了(相比之下更糟糕的结果是在不知不觉中执行错误的代码)。
    NealLason
        2
    NealLason  
       1 天前   ❤️ 1
    啊这……
    kingcanfish
        3
    kingcanfish  
       1 天前   ❤️ 36
    ai 时代 ,ai 应该很快就可以超过 ai 了吧, 毕竟 ai 可以写出更优秀的 ai ,左脚踩右脚 直接螺旋上天(
    jark006
        4
    jark006  
       1 天前
    换位思考,AI 也可以写出性能更优秀的 cpp 。

    再换位思考,现在除汇编以外的所有编程语言,都是方便人类做开发再翻译到汇编/机器码的,抛开代码复用/设计模式/语法糖等等专为人类便于开发的特性,直接让 AI 写汇编,针对需求写汇编,其他任何语言的性能都追不上。

    也不用抱怨汇编代码都是黑箱,人类很难看懂啥的,那些 AI 大语言模型 LLM 动则千亿参数,其拓扑和权重早都是黑箱了,再多一个黑箱也不多。
    naeco
        5
    naeco  
       1 天前
    直接让 AI 生成机器码不就好了吗?
    cmdOptionKana
        6
    cmdOptionKana  
       1 天前   ❤️ 4
    开车禁止酒驾,我认为 V 站也应该禁止酒后发帖,这都醉成啥样了
    jdz
        7
    jdz  
    OP
       1 天前 via Android
    @cmdOptionKana 毫无干货的片汤话,真无聊
    jdz
        8
    jdz  
    OP
       1 天前 via Android
    @jark006 jit 可以运用运行时信息
    jdz
        9
    jdz  
    OP
       1 天前 via Android
    @geelaw Java 就是可以用运行时信息啊,理论上就是比 cpp 性能更好,只是目前 jit 还不够优秀
    Gilfoyle26
        10
    Gilfoyle26  
       23 小时 31 分钟前   ❤️ 1
    ?????为啥一定要让 AI 写出更优秀的 jit ?????意义是什么???

    就好像费了很多精力发明一个人形机器人,然后让它来打算盘。
    picone
        11
    picone  
       23 小时 28 分钟前
    要不,你直接让 AI 搞出永动机,搞出可控核聚变吧
    jdz
        12
    jdz  
    OP
       23 小时 20 分钟前 via Android
    @Gilfoyle26 因为 jit 理论上性能最好
    icyalala
        13
    icyalala  
       23 小时 18 分钟前
    C++也可以 PGO ,而且还有足够时间来做优化,Java 的 JIT 可没有那么多时间给你
    jdz
        14
    jdz  
    OP
       23 小时 14 分钟前 via Android
    @icyalala pgo 才没有吧,pgo 多麻烦
    emrys0ff
        15
    emrys0ff  
       22 小时 47 分钟前
    GC 怎么办
    geelaw
        16
    geelaw  
       22 小时 45 分钟前 via iPhone
    @jdz #9 并不是可以用动态信息就更好。Java 的语义限制得很死(允许的实现方式少),C++ 的很宽松(允许的实现方式多),在语义松紧可比较的情况下,允许的实现方式是子集关系,当然更多的实现方式更可能出现更高效的实现。

    @icyalala #13 不能 JIT 的话只能静态 PGO 。
    EchoWhale
        17
    EchoWhale  
       20 小时 56 分钟前 via iPhone
    为什么不让 ai 直接写汇编
    SiWXie
        18
    SiWXie  
       20 小时 52 分钟前 via iPhone
    一个语言的兴衰和性能关系不大,使用场景更重要。纯 JIT 语言也有,比如 Julia ,但一直也没火。
    xxxcat
        19
    xxxcat  
       20 小时 38 分钟前
    编译器/jit 再怎么 NB 也是人机之间的桥梁,所以应该踢掉写语言的人和编译器,AI 直接针对问题生成机器码就行,人只管描述问题
    akira
        20
    akira  
       20 小时 32 分钟前
    用 java 就不要过于在意性能问题了啦。。相反,随着 ai 的发展,新的语言的出现的可能性 大幅度增加了。

    这个新的语言应该是偏自然语言描述,可能不能适合所有环境,但是应该能完成资源整合调用,流程控制的能力。
    leonshaw
        21
    leonshaw  
       20 小时 30 分钟前 via Android
    为什么要让 AI 写程序?直接让 AI 做这个程序做的事不就行了?
    maix27
        22
    maix27  
       19 小时 34 分钟前
    先不说你咋推出第一个逻辑的,你第二个逻辑咋来的?-> 毕竟 ai 可以写出更优秀的 jit

    就算你这逻辑成立,那也是 C#比 java 快呀,怎么会是 Java 呢?我都觉得可笑,看你右边,v2ex 都不认可回答问题的可靠性 -> “请不要在回答技术问题时复制粘贴 AI 生成的内容”。

    我不知道你这认为 ai 能写出更优秀的 jit 这个结论哪来的。
    JingW
        23
    JingW  
       18 小时 48 分钟前
    我承认楼主是 JIT 仙人
    mingl0280
        24
    mingl0280  
       18 小时 46 分钟前 via Android
    笑抽了,AI 写出更优秀的 JIT
    特么 AI 连生成的代码都不能长一点,写个毛的优秀 JIT ,写着写着撸出一堆 bug 才是 AI 常态。
    yolee599
        25
    yolee599  
       18 小时 12 分钟前 via Android
    多了一层东西再快也快不过没有那一层东西,举个例子:WIFI 速率做得再快也快不过网线直接连接
    prosgtsr
        26
    prosgtsr  
       18 小时 7 分钟前 via iPhone
    ai:我直接生成汇编性能更好,为了照顾人类我还要生成 java 、c++代码,烦死了
    jnyanmeng
        27
    jnyanmeng  
       17 小时 0 分钟前   ❤️ 1
    大概六七年前,我还是个 copy boy & java boy 的时候,我以为 java 就是天,我每天找一千个理由来吹捧它;然而 2042 年了,我再也不碰它了,他就像我家猫崽子拉的一坨屎,需要屏住呼吸,小心翼翼的把它丢掉!但总归是丢掉了!
    shylockhg
        28
    shylockhg  
       16 小时 38 分钟前
    AI operates computer by accepting nature language.
    epeeian
        29
    epeeian  
       16 小时 25 分钟前 via Android
    一般日常需要的东西,跑起来都大差不差。主要看 AI 写什么最好。现在公认 JS 吧因为训练用的现有代码估计最多。
    bruce0
        30
    bruce0  
       16 小时 12 分钟前
    只要带着 GC 那就不可能打得过 CPP, 除非内存无限大,运行期内基本不触发 GC, 还有 AI 就不能写出更好的 CPP 编译器吗, 把 pgo 技术更近一步, 让比如让 CPP 也用上各种运行时优化
    CTd1DJnr6KlM
        31
    CTd1DJnr6KlM  
       16 小时 7 分钟前
    有点皇帝的金锄头的味道
    4L 和 20L 的我感觉靠谱
    z1829909
        32
    z1829909  
       15 小时 38 分钟前
    如果 AI 的智商已经到这种程度了, 干嘛费劲给你生成代码呢? 直接 ai 接机器上发指令不就行了.
    jdz
        33
    jdz  
    OP
       15 小时 35 分钟前 via Android
    @yolee599 jit 可没多一层,完全就是机器码
    jdz
        34
    jdz  
    OP
       15 小时 34 分钟前 via Android
    @bruce0 pgo 收集时间毕竟有限,而且麻烦的一批
    jdz
        35
    jdz  
    OP
       15 小时 33 分钟前 via Android
    @jnyanmeng 我也是 6 年前写 Java ,现在写 cpp ,但是理论上就是 Java 比 cpp 性能好
    540240126
        36
    540240126  
       15 小时 33 分钟前
    AI 的能达到水平就是平均水平,对于高难度工作帮助不大
    lisongeee
        37
    lisongeee  
       15 小时 30 分钟前
    @jdz #35

    > 但是理论上就是 Java 比 cpp 性能好

    有基准测试的数据支持吗?非常好奇看看性能好在哪
    jdz
        38
    jdz  
    OP
       15 小时 27 分钟前 via Android
    @lisongeee 理论上,当然没有基准测试,只是现在 jit 还不够优秀
    lisongeee
        39
    lisongeee  
       15 小时 7 分钟前   ❤️ 1
    @jdz

    > 理论上,当然没有基准测试,只是现在 jit 还不够优秀

    你疑似有点瞎扯了,理论上 cpp 还能把 jit 编译进去呢,这你 java 怎么打?
    w568w
        40
    w568w  
       14 小时 45 分钟前
    打了一大段话,太乐了又删了。

    不管怎么说,我支持 Java 超过 C++!
    agagega
        41
    agagega  
       13 小时 57 分钟前 via iPhone
    马上 2025 年了,为什么觉得 Java 对 C++的**惟一**劣势是性能呢?这是两个完全不同的生态和应用场景
    chor02
        42
    chor02  
       13 小时 18 分钟前
    ai 都來了,為什麼還需要 java
    lloovve
        43
    lloovve  
       12 小时 24 分钟前 via iPhone
    别说以后,现在 ai 基本都没 Java 什么事了,你想 ai 都不用 Java ,怎么说 Java 最优秀
    dcoder
        44
    dcoder  
       10 小时 31 分钟前   ❤️ 1
    整个 AI 生态就是: 底层 C++, 上层 Python 包, 完全没 Java 啥事儿了...
    archxm
        45
    archxm  
       7 小时 52 分钟前 via Android
    ai 可以写出没有 bug 的 cpp
    alex177027
        46
    alex177027  
       6 小时 9 分钟前 via Android
    相信楼主可以实现
    James369
        47
    James369  
       6 小时 1 分钟前
    这个问题就像是花拳秀腿要打死老师傅。然而并没什么可比性,java 最好去和 kotlin 比
    elevioux
        48
    elevioux  
       5 小时 49 分钟前 via Android
    到了 ai 时代,还在讨论哪个语言更快????
    yanqiyu
        49
    yanqiyu  
       5 小时 44 分钟前
    就这么说吧,我先不反驳很多暴论,C++也能 JIT (甚至不是玩具,在高能物理试验领域常用的 ROOT 就是可以基于魔改的 Clang+LLVM 来解析 C++语法的脚本的)

    然后就是 JIT 能收集到的信息多数情况下 PGO 也能看到,这些东西都不构成任何区别
    iv8d
        50
    iv8d  
       5 小时 22 分钟前 via Android
    喝了多少啊,花生米太少瞧把你醉的
    Georgedoe
        51
    Georgedoe  
       4 小时 59 分钟前
    你这逻辑给我整笑了
    icezzz
        52
    icezzz  
       4 小时 24 分钟前
    啊这,都 ai 时代了,还在纠结哪种语言天下第一么?
    realpg
        53
    realpg  
       4 小时 22 分钟前   ❤️ 3
    引战刷金币卖邀请码一条龙服务是吧
    beneo
        54
    beneo  
       4 小时 8 分钟前
    Java 最大的优势
    1. 人要求低,人便宜
    2. 开源且品质高的库多
    zhady009
        55
    zhady009  
       3 小时 25 分钟前
    很难想象不是串子(
    skull
        56
    skull  
       2 小时 47 分钟前
    不用需求场景用不同的语言,哪里有什么超越一说
    lxh1983
        57
    lxh1983  
       2 小时 29 分钟前 via iPhone
    多大的人能说出再过 30 年,年龄就比爸爸大了的话
    tairan2006
        58
    tairan2006  
       2 小时 16 分钟前
    楼主发这不如担心自己失业
    lichkingjx
        59
    lichkingjx  
       1 小时 46 分钟前 via Android
    一知半解就别来发帖丢人了。JIT 的是运行时动态编译生成机器码。cpp 从头到尾都是在运行机器码,JIT 拿什么超 cpp ?
    falcon05
        60
    falcon05  
       1 小时 45 分钟前 via iPhone
    不知道是装傻还是真傻,有种逛弱智吧的感觉,莫名搞笑🤪
    jdz
        61
    jdz  
    OP
       1 小时 44 分钟前 via Android
    @lichkingjx 你才是丢人现眼,运行时动态生成机器码,难道每次都动态生成?
    jdz
        62
    jdz  
    OP
       1 小时 42 分钟前 via Android
    @falcon05 毫无见解,张嘴就喷,我在发同样的帖子都是各种讨论,v 站怎么竟是你这种无脑喷子
    lichkingjx
        63
    lichkingjx  
       1 小时 41 分钟前 via Android
    @jdz 我以为你是串子,看来你是真煞笔。JIT 的全称就是 just in time compilation 。不是动态生成那还叫 JIT 吗?回复你这弱智贴都是脏了我的手。😓
    jdz
        64
    jdz  
    OP
       1 小时 40 分钟前 via Android
    @lichkingjx 你这种煞笔都懒得跟你讨论,动态生成是每次都动态生成?不会缓存,真弱智哦
    jdz
        65
    jdz  
    OP
       1 小时 40 分钟前 via Android
    @lichkingjx 来说说你年薪几毛钱,看看你的段位
    lichkingjx
        66
    lichkingjx  
       1 小时 39 分钟前 via Android
    @jdz cpp 等同于一开始就缓存了所有的机器码。JIT 至少需要动态编译一次?你拿什么和 cpp 比?有脑子吗?
    lichkingjx
        67
    lichkingjx  
       1 小时 38 分钟前 via Android
    @jdz 虚拟的网络论坛和别人比年薪,看来你是真弱智。
    jdz
        68
    jdz  
    OP
       1 小时 38 分钟前 via Android
    @lichkingjx 你是不敢
    jdz
        69
    jdz  
    OP
       1 小时 37 分钟前 via Android
    @lichkingjx 你真的是太菜了,连 jit 的优势都不懂,跟这种菜鸡喷子讨论真是浪费时间
    lichkingjx
        70
    lichkingjx  
       1 小时 36 分钟前 via Android
    @jdz 纯纯的脑瘫。证明性能你至少拿出 benchmark 数据。光口嗨有屁用。拿动态语言和 cpp 比性能就是纯弱智行为。
    HangoX
        71
    HangoX  
       1 小时 25 分钟前
    AI 时代的话,有没有可能写的是 AI 专用语言,AI 翻译成为牛逼的机械语言,更快呢?
    java 本来就是不是性能上取代 CPP 的,java 解决的是超多人写系统不出大问题的问题,这是 CPP 做不到的
    jdz
        72
    jdz  
    OP
       1 小时 22 分钟前 via Android
    @lichkingjx 不百度,你知道什么是 lto ,什么是 pgo 么这位弱智兄弟。估计年薪连 50 万都没有吧
    lichkingjx
        73
    lichkingjx  
       1 小时 18 分钟前 via Android
    @jdz 别转移话题,上数据。让我看看是什么 jit 性能超过 cpp 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2627 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 06:44 · PVG 14:44 · LAX 22:44 · JFK 01:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.