• 请不要在回答技术问题时复制粘贴 AI 生成的内容
imherer
V2EX  ›  程序员

bun 真的用 rust 重写了啊

  •  1
     
  •   imherer · May 15 · 5305 views

    前几天作者还在说是实验性的东西,用 ai 写着玩,结果现在已经合到 main 分支了

    21 replies    2026-05-18 10:08:26 +08:00
    bequt
        1
    bequt  
       May 15
    以后不会所有都用 rust 重写吧。。
    imherer
        2
    imherer  
    OP
       May 15
    @bequt 这次重写有很大一部分原因好像是 zig 官方拒绝 ai
    wfhtqp
        3
    wfhtqp  
       May 15
    bun 内存泄露问题换 rust 就能好了吗?
    yingha
        4
    yingha  
       May 15
    @wfhtqp 怎么可能,除非别用 unsafe
    vincentWdp
        5
    vincentWdp  
       May 15
    deno: 啊?
    supuwoerc
        6
    supuwoerc  
       May 15
    一次性合了 100000 代码好像,纯纯的 a 家秀肌肉
    miniliuke
        7
    miniliuke  
       May 15
    不敢相信,100w 行代码,太离谱了......真的比我强了
    crazytec
        8
    crazytec  
       May 15
    @yingha 内存泄漏不属于 unsafe
    MagicCoder
        9
    MagicCoder  
       May 15
    e.... 这么大的代码量不测试?这不成玩具了吗
    liuidetmks
        10
    liuidetmks  
       May 15
    @MagicCoder 说是已经通过 99.8%的测试
    rammiah
        11
    rammiah  
       May 15
    随便打开个文件,就是 unsafe 在飞
    wonderfulcxm
        13
    wonderfulcxm  
       May 15 via iPhone
    这么短时间做到这种程度相当厉害了,rust 大势所趋,未来可期。
    ca2oh4
        14
    ca2oh4  
       May 15
    A\ 用 bun 的吗?
    craftsmanship
        15
    craftsmanship  
       May 15 via Android
    @ca2oh4 A\收购 bun 之后 cc 用的这个吧
    orluna
        16
    orluna  
       May 15
    太快了
    pigspy
        17
    pigspy  
       May 15
    感觉有点像行为艺术
    chenluo0429
        18
    chenluo0429  
       May 15 via Android
    @rammiah extern c 本来就要加 unsafe 啊,编译器又不知道你链接的其他语言有没有问题
    Dragonphy
        19
    Dragonphy  
       May 15
    @imherer 作者在某个评论下回复过因为内存泄露问题,Rust 不需要操心这个
    rammiah
        20
    rammiah  
       May 16
    @chenluo0429 说的是用 rust 替换 zig ,结果却是用 rust 调用 zig 的接口,这重写的意义是?
    DsuineGP
        21
    DsuineGP  
       May 18
    @rammiah #20 逐行翻译的, zig 版本是啥样翻译成 rust 就是啥样. 前期快速翻译过来, 后期重构时这些 unsafe 代码块就几乎等于 // FIXME 了

    ```zig
    extern fn WTF__base64URLEncode(input: [*]const u8, input_len: usize, output: [*]u8, output_len: usize) usize;
    pub fn encodeURLSafe(dest: []u8, source: []const u8) usize {
    bun.jsc.markBinding(@src());
    return WTF__base64URLEncode(source.ptr, source.len, dest.ptr, dest.len);
    }
    ```
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5185 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 177ms · UTC 05:53 · PVG 13:53 · LAX 22:53 · JFK 01:53
    ♥ Do have faith in what you're doing.