feat: 集成 Obscura 进程内无头浏览器、极致编译瘦身 profile 与词典内存优化
- 下载器 Obscura 后备通道拆分为条件编译双路径:
进程内模式 (obscura-inprocess feature) 通过 spawn_blocking + 单线程
runtime 驱动 V8 直接抓取;默认外部命令行模式通过 bin/obscura 子进程调用
- Cargo.toml 新增 obscura-browser/obscura-net 可选依赖与 release-min profile
(LTO + strip + opt-level="s",二进制 17→8.3 MB,VSZ 1.27G→302M)
- 词典加载后 shrink_to_fit() 释放预留容量,降低常驻内存
- README 与 deployment.md 扩写 Obscura 双模式部署及低配服务器优化指南
- 新增 Obscura mock 集成测试,补齐测试 fixture 字段
This commit is contained in:
+14
@@ -45,3 +45,17 @@ flate2 = "1.1.9"
|
||||
zip = "8.6.0"
|
||||
uuid = { version = "1.23.2", features = ["v4"] }
|
||||
tracing-appender = "0.2.5"
|
||||
obscura-browser = { path = "libs/obscura/crates/obscura-browser", optional = true }
|
||||
obscura-net = { path = "libs/obscura/crates/obscura-net", optional = true }
|
||||
|
||||
[features]
|
||||
default = []
|
||||
obscura-inprocess = ["dep:obscura-browser", "dep:obscura-net"]
|
||||
|
||||
[profile.release-min]
|
||||
inherits = "release"
|
||||
opt-level = "s"
|
||||
lto = true
|
||||
codegen-units = 1
|
||||
strip = true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user