< 返回版块
chuigda
发表于 2022-03-21 10:50
我们知道,由于 Rust 重度依赖泛型和单态化,rustc 会生成炒鸡多的 metadata,然后它们就会便乘巨量的 debug 信息:
有没有这样一种可能,我是说可能,通过某种属性,控制 debug 信息的生成,允许定向移除一些对调试作用不大的 debug 信息
#[strip_dbgsym]
fn no_debug_func() {
/* ... */
}
从而减小 LLVM 和 linker 的压力,并进一步缩减最终可执行文件的体积
评论区
写评论这个会把所有 symbol 都给 strip 了,我的设想是定向 strip 掉某一些函数或者方法的 symbol。而且真要全 strip 的话直接用 objcopy 然后 strip 一发就行了。
--
👇
苦瓜小仔: https://doc.rust-lang.org/cargo/reference/profiles.html#strip
https://doc.rust-lang.org/cargo/reference/profiles.html#strip
上面这堆就是 release 版本里的。理论上这些东西不会影响性能,因为只是 symbol。不过对编译器性能的影响就另当别论了。
--
👇
jiuker: release 版本应该没有这些吧
release 版本应该没有这些吧