[package] name = "dht_crawler" version = "3.0.0" edition = "2021" [dependencies] tokio = { version = "1.35", features = ["full"] } serde = { version = "1.0", features = ["derive"] } serde_bencode = "0.2" # 更成熟的 bencode 库,支持 UTF-8 sha1 = "0.10" hex = "0.4" rand = "0.8" log = "0.4" tracing = "0.1.43" tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] } tracing-appender = "0.2" tracing-log = "0.2" thiserror = "1.0" socket2 = { version = "0.5", features = ["all"] } rbit = "0.1" bytes = "1.0" mimalloc = "0.1" bloomfilter = "1.0" ahash = "0.8" # 快速哈希算法(比 SHA1 快 10倍+) # 可选:用于 Web API actix-web = { version = "4.4", optional = true } encoding_rs = { version = "0.8.35", optional = true } serde_bytes = "0.11.19" [features] default = [] web = ["actix-web"] encoding = ["dep:encoding_rs"] # ==================== 性能优化配置 ==================== [profile.release] opt-level = 3 # 最高优化级别 lto = "fat" # 链接时优化(LTO)- 显著提升性能 codegen-units = 1 # 单编译单元 - 更好的优化但编译慢 panic = "abort" # panic时直接终止 - 减少二进制大小 strip = true # 移除调试符号 - 减小二进制 # 开发时快速编译 [profile.dev] opt-level = 0 debug = true # 性能测试配置 [profile.bench] inherits = "release" debug = true # 保留符号以便性能分析