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

Go Rust 生成的可执行文件太大了

  •  
  •   caizixian ·
    caizixian · 2015-01-08 17:28:11 +08:00 · 16198 次点击
    这是一个创建于 3607 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Hello world程序

    Go 1.4 1.6+MB
    Rust 1.0.0 pre 2.3+MB
    相比之下C++只有400多KB
    22 条回复    2019-10-05 10:15:47 +08:00
    9hills
        1
    9hills  
       2015-01-08 17:37:13 +08:00
    然后呢,空间是问题么。。
    tini8
        2
    tini8  
       2015-01-08 17:40:36 +08:00
    相较于C++,这只是一个增量,而不是成倍增加,等软件100多MB的时候,这多出来的2MB就可以忽略了
    est
        3
    est  
       2015-01-08 17:40:43 +08:00   ❤️ 2
    C++又不带反射和GC。

    Go和Rust编译出的东西,其实相当于一个脚本语言大小的runtime打包进二进制了。
    nicai000
        4
    nicai000  
       2015-01-08 17:42:56 +08:00
    静态编译啊. 见二楼
    chenwl
        5
    chenwl  
       2015-01-08 17:52:39 +08:00
    看体积是可笑的~~
    cattail
        6
    cattail  
       2015-01-08 18:06:08 +08:00
    想起有人拿hello world的server举例dps了
    BGLL
        7
    BGLL  
       2015-01-08 18:11:22 +08:00
    这要让我用Qt的.....一个Hello world最多能有十几MB
    banbanchs
        8
    banbanchs  
       2015-01-08 18:53:17 +08:00
    C++编译出来的是动态链接啊,链接上libstdc++什么的也有1M多
    saggit
        9
    saggit  
       2015-01-08 19:35:00 +08:00 via Android
    可以试试nim,hello world仅160KB左右,
    spacewander
        10
    spacewander  
       2015-01-08 20:04:20 +08:00
    这个不是呈比例增长的……
    otmb
        11
    otmb  
       2015-01-08 20:14:14 +08:00
    楼主搞Go多久鸟?看的啥书?
    xdeng
        12
    xdeng  
       2015-01-08 20:24:04 +08:00
    go生成的是不依赖 vs dll 的。。。
    p2p
        13
    p2p  
       2015-01-08 20:40:26 +08:00
    楼主是来骗回复的 切记忍住吐槽
    missdeer
        14
    missdeer  
       2015-01-08 20:41:37 +08:00
    Rust怎么会比Go生成的大,Rust不是用llvm的么
    windyboy
        15
    windyboy  
       2015-01-08 23:05:22 +08:00
    hello world 有什么比较的价值?
    msg7086
        16
    msg7086  
       2015-01-08 23:10:06 +08:00 via iPhone
    你统计大小的时候不管依赖的?
    C++要是让你装msvcrt你怕不怕?
    pandada8
        17
    pandada8  
       2015-01-08 23:36:33 +08:00
    Go 语言默认静态编译啊,这好歹算卖点之一,啥依赖都Bundle了,最后部署的时候直接丢一个可执行文件啊。
    skybr
        18
    skybr  
       2015-01-08 23:49:34 +08:00 via iPad
    gccgo可以动态链接
    Rust一开始是动态,后来被Go带坏了
    kaneg
        19
    kaneg  
       2015-01-09 08:12:44 +08:00 via iPhone
    这个看你的代码用到的依赖包的多少。其实尽管简单代码几兆,复杂的也就那么大
    acgeo
        20
    acgeo  
       2015-01-09 10:17:50 +08:00
    rust 顶。 关键是什么时候稳定 并能用

    另外rust号称原生支持多核,不太理解。。。

    http://rust.cc
    http://rust.org.cn

    域名都搞起来了。。。
    jaywcjlove
        21
    jaywcjlove  
       2018-02-06 17:17:18 +08:00
    @acgeo #20 💯
    CSEnter
        22
    CSEnter  
       2019-10-05 10:15:47 +08:00
    现在 146k
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1375 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:34 · PVG 01:34 · LAX 09:34 · JFK 12:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.