跳到主要内容

TQUIC移动端库文件大小优化

基本优化

  • 使用特定编译选项优化二进制大小

修改Cargo.toml并增加如下配置:

[profile.release]
lto = true
opt-level = "z" # Optimize for size
codegen-units = 1

然后再使用cargo命令编译TQUIC,详见编译说明

  • 去除符号信息
# iOS
strip -x ./libtquic.dylib

# Android或Harmony
llvm-strip --strip-unneeded ./libtquic.so
提示

编译后的库文件大小约2MB,不同TQUIC版本的大小可能略有差异。

进一步优化

  • 禁用不需要的功能

如果不使用qlog,可以手工禁用qlog相关代码

# qlog feature is disabled when building
cargo build --all --no-default-features -F ffi,h3

如果不使用h3,可以手工禁用h3相关代码

# h3 feature is disabled when building
cargo build --all --no-default-features -F ffi,qlog

更进一步优化

可以参考Minimizing Rust Binary Size 中提供的更多技巧。