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

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

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

    Java 性能超越 C++ 的途径主要是动态测量导向的优化( dynamic PGO ),如果不采用这点,再厉害的 JIT 也没有意义,因为“C++ 的 JIT”是最快的——无需再做任何翻译。另外 rule-based AI 也是 AI ,但如果你要说是 LLM 的话,它写出来的编译器能让程序迅速崩溃就不错了(相比之下更糟糕的结果是在不知不觉中执行错误的代码)。
    NealLason
        2
    NealLason  
       1 天前   ❤️ 1
    啊这……
    kingcanfish
        3
    kingcanfish  
       1 天前   ❤️ 43
    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  
       1 天前   ❤️ 2
    ?????为啥一定要让 AI 写出更优秀的 jit ?????意义是什么???

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

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

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

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

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

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

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

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

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

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

    然后就是 JIT 能收集到的信息多数情况下 PGO 也能看到,这些东西都不构成任何区别
    iv8d
        50
    iv8d  
       10 小时 53 分钟前 via Android
    喝了多少啊,花生米太少瞧把你醉的
    Georgedoe
        51
    Georgedoe  
       10 小时 30 分钟前
    你这逻辑给我整笑了
    icezzz
        52
    icezzz  
       9 小时 56 分钟前
    啊这,都 ai 时代了,还在纠结哪种语言天下第一么?
    realpg
        53
    realpg  
       9 小时 54 分钟前   ❤️ 3
    引战刷金币卖邀请码一条龙服务是吧
    beneo
        54
    beneo  
       9 小时 40 分钟前
    Java 最大的优势
    1. 人要求低,人便宜
    2. 开源且品质高的库多
    zhady009
        55
    zhady009  
       8 小时 57 分钟前
    很难想象不是串子(
    skull
        56
    skull  
       8 小时 18 分钟前
    不用需求场景用不同的语言,哪里有什么超越一说
    lxh1983
        57
    lxh1983  
       8 小时 0 分钟前 via iPhone
    多大的人能说出再过 30 年,年龄就比爸爸大了的话
    tairan2006
        58
    tairan2006  
       7 小时 48 分钟前
    楼主发这不如担心自己失业
    lichkingjx
        59
    lichkingjx  
       7 小时 18 分钟前 via Android
    一知半解就别来发帖丢人了。JIT 的是运行时动态编译生成机器码。cpp 从头到尾都是在运行机器码,JIT 拿什么超 cpp ?
    falcon05
        60
    falcon05  
       7 小时 16 分钟前 via iPhone
    不知道是装傻还是真傻,有种逛弱智吧的感觉,莫名搞笑🤪
    jdz
        61
    jdz  
    OP
       7 小时 15 分钟前 via Android
    @lichkingjx 你才是丢人现眼,运行时动态生成机器码,难道每次都动态生成?
    jdz
        62
    jdz  
    OP
       7 小时 14 分钟前 via Android
    @falcon05 毫无见解,张嘴就喷,我在发同样的帖子都是各种讨论,v 站怎么竟是你这种无脑喷子
    lichkingjx
        63
    lichkingjx  
       7 小时 13 分钟前 via Android
    @jdz 我以为你是串子,看来你是真煞笔。JIT 的全称就是 just in time compilation 。不是动态生成那还叫 JIT 吗?回复你这弱智贴都是脏了我的手。😓
    jdz
        64
    jdz  
    OP
       7 小时 12 分钟前 via Android
    @lichkingjx 你这种煞笔都懒得跟你讨论,动态生成是每次都动态生成?不会缓存,真弱智哦
    jdz
        65
    jdz  
    OP
       7 小时 11 分钟前 via Android
    @lichkingjx 来说说你年薪几毛钱,看看你的段位
    lichkingjx
        66
    lichkingjx  
       7 小时 11 分钟前 via Android   ❤️ 1
    @jdz cpp 等同于一开始就缓存了所有的机器码。JIT 至少需要动态编译一次?你拿什么和 cpp 比?有脑子吗?
    lichkingjx
        67
    lichkingjx  
       7 小时 10 分钟前 via Android
    @jdz 虚拟的网络论坛和别人比年薪,看来你是真弱智。
    jdz
        68
    jdz  
    OP
       7 小时 9 分钟前 via Android
    @lichkingjx 你是不敢
    jdz
        69
    jdz  
    OP
       7 小时 9 分钟前 via Android
    @lichkingjx 你真的是太菜了,连 jit 的优势都不懂,跟这种菜鸡喷子讨论真是浪费时间
    lichkingjx
        70
    lichkingjx  
       7 小时 7 分钟前 via Android
    @jdz 纯纯的脑瘫。证明性能你至少拿出 benchmark 数据。光口嗨有屁用。拿动态语言和 cpp 比性能就是纯弱智行为。
    HangoX
        71
    HangoX  
       6 小时 57 分钟前
    AI 时代的话,有没有可能写的是 AI 专用语言,AI 翻译成为牛逼的机械语言,更快呢?
    java 本来就是不是性能上取代 CPP 的,java 解决的是超多人写系统不出大问题的问题,这是 CPP 做不到的
    jdz
        72
    jdz  
    OP
       6 小时 54 分钟前 via Android
    @lichkingjx 不百度,你知道什么是 lto ,什么是 pgo 么这位弱智兄弟。估计年薪连 50 万都没有吧
    lichkingjx
        73
    lichkingjx  
       6 小时 49 分钟前 via Android
    @jdz 别转移话题,上数据。让我看看是什么 jit 性能超过 cpp 。
    janus77
        74
    janus77  
       4 小时 42 分钟前
    如果 AI 可以写 jit ,那为什么不让 AI 直接写 C 呢,反正都不是人在写,不需要考虑难不难的问题,一股脑交给 AI 就行了
    dkl1999
        75
    dkl1999  
       4 小时 34 分钟前
    make jit great again😉😉
    jdz
        76
    jdz  
    OP
       4 小时 32 分钟前 via Android
    @janus77 c 优化有局限,肯定需要 jit
    Geon97
        77
    Geon97  
       4 小时 11 分钟前
    都 2025 年了,OP 是不是只会写 Java 啊?并且跳过了学过计算机原理和 C ,直接学的 Java 吧
    就当你是来刷金币的
    jdz
        78
    jdz  
    OP
       3 小时 55 分钟前 via Android
    @Geon97 本人现在主写 cpp ,曾经面试某外企 cpp 岗位,25 选一进入的
    y1y1
        79
    y1y1  
       1 小时 51 分钟前
    看见 java 这个单词我都下意识停止呼吸
    jdz
        80
    jdz  
    OP
       1 小时 48 分钟前 via Android
    @y1y1 为啥
    VchentozV
        81
    VchentozV  
       1 小时 40 分钟前 via iPhone
    为什么会有 java 超越 cpp 的逻辑存在?仅仅是 jit 优化吗?
    VchentozV
        82
    VchentozV  
       1 小时 40 分钟前 via iPhone
    @jdz so ?
    VchentozV
        83
    VchentozV  
       1 小时 39 分钟前 via iPhone
    @jdz 你知道 c/cpp 我是早有 gc 的方案 但是为什么没有用吗?
    VchentozV
        84
    VchentozV  
       1 小时 36 分钟前 via iPhone
    @jdz 你哪里来的自信和结论?
    zuotun
        85
    zuotun  
       1 小时 8 分钟前
    对 Java 仔的刻板印象更深了。
    Mocus
        86
    Mocus  
       17 分钟前
    CPP 也能 JIT 啊😅LLVM 项目下的 ORC JIT
    "ai 可以写出更优秀的 jit"
    假设情况为真(真实情况多半为假),那你为什么会觉得 C++的 JIT 性能不如 Java 环境的 JIT ?😅
    BillGates
        87
    BillGates  
       11 分钟前
    AI 编写的代码几乎都不能运行,需要修改。我在用同义千问、文心一言时都是这样。用 AI 写代码还不如搜索网页,网上的东西至少是人写的,很有可能实机运行过。AI 目前也就是能生成完整的句子罢了。而且现在人工智能的训练材料还存在被 AI 污染的可能,也就是越训练越说的不像人话。
    jdz
        88
    jdz  
    OP
       4 分钟前 via Android
    @BillGates 有没有可能 claude 或 gpt4o 要优秀的多
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2742 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:16 · PVG 20:16 · LAX 04:16 · JFK 07:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.