rust 真的是硬盘杀手

2022-10-21 14:04:29 +08:00
 v2defy

随随便便写几行代码,拉几个依赖一编译,分分钟两三 G 没了。

大项目更是恐怖,substrate 编译后 42G ,cargo clean 后 42 兆。

家目录下的 .cargo 和 .rustup 用一段时间也能分别占用十多个 G ,

500G 硬盘很容易就不够用了,看来以后再买电脑得 1T 起步了。

11713 次点击
所在节点    程序员
49 条回复
novolunt
2022-10-21 14:13:07 +08:00
golang ,npm ,pip 也有这个问题吧,确实多。
反正这些我都会跑,然后就不够了
Alias4ck
2022-10-21 14:22:48 +08:00
你说的随随便便是写一个 hello world 还是写一个 application
PureWhiteWu
2022-10-21 14:24:43 +08:00
写 Rust ,现在电脑配置是 2T SSD
f6x
2022-10-21 14:27:06 +08:00
空间换时间, 空间换效率. 你换不换?
我换.
7zlid
2022-10-21 14:27:53 +08:00
利好傲腾
可惜傲腾已经入土了
xinhaiw
2022-10-21 14:34:52 +08:00
4tb m1
Mohanson
2022-10-21 14:35:54 +08:00
Rust 稍大些的项目 cargo build 一下几十 G 洒洒水
liyang5945
2022-10-21 14:41:32 +08:00

同感,前几天玩了下 tauri ,一个 helloword 都吃了好几 G ,这个图得换成 rust 了
imes
2022-10-21 14:56:44 +08:00
agagega
2022-10-21 15:02:57 +08:00
为什么会这么大?还是说原生编译语言都这样,C++项目的中间文件也不小的。当然 Rust 有时候确实离谱
imzcg2
2022-10-21 16:08:28 +08:00
cargo install cargo-cache

安装后 只能 cargo cache -a 来不时清理一下啦
gam2046
2022-10-21 16:26:08 +08:00
我觉得现代语言都有这毛病

node_modules
.gradle
.mvn
gopath (go get)

等等

只要多编译几个项目,什么工具链都能下回来一大堆缓存
DonkeyBenjamin
2022-10-21 16:29:53 +08:00
如果这能让你不去学 rust ,我是赞同的
aloxaf
2022-10-21 16:55:48 +08:00
统一 target 目录 + 定时清理 + btrfs 透明压缩,可以为你省不少空间和时间
ihciah
2022-10-21 16:58:50 +08:00
大项目关 debug info 能省一点
7c00
2022-10-21 17:01:14 +08:00
@aloxaf 透明压缩在这时候应该效果显著
yyfearth
2022-10-21 17:16:12 +08:00
@7c00 不够 因为透明压缩是压缩每个文件 并不会去重 或者固实压缩 对于巨量的小文件 对磁盘占用贡献不大
文件小文件太小 就算压缩后大小减半 还是会占用整块的磁盘空间

其实应该把这些放到一个统一的 cache/image fs 里面 里面默认去重压缩 而且对小文件要有优化才能解决这个问题

另外有些(比如 yarn2 )支持不解压 tgz 文件 直接用虚拟 FS 直接 on the fly 读取 tgz 里面的文件 这样就会好很多 但是会慢 兼容性也会出问题
ZeroDu
2022-10-21 17:55:08 +08:00
java 这边 maven 还好;库都是公用的;开发体验上虽然不占硬盘,但是占内存
7c00
2022-10-21 17:58:51 +08:00
@yyfearth 但这里的 rust 编译产物并不是 nodejs 那种零碎的小文件,在我这里,透明压缩效果非常显著,du 109G 但 df 只有 53G ,不过我这里不做 rust 开发而是做 web 和 android 。
FightPig
2022-10-21 18:01:43 +08:00
我电脑里 node_modules 占的最多,上回清理了几十 g 出来 ,主要还都是些小文件,现在改用 pnpm 好些了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/888714

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX