-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
64 lines (58 loc) · 1.58 KB
/
Copy pathCargo.toml
File metadata and controls
64 lines (58 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
[package]
name = "mv-wall-sync"
version = "0.1.0"
description = "A local multi-screen video wall orchestration and sync server."
authors = ["AptS-1547 <apts-1547@esaps.net>"]
repository = "https://github.com/AptS-1547/mv-wall-sync"
license = "MIT"
edition = "2024"
rust-version = "1.95.0"
# 优化配置
[profile.dev]
opt-level = 1
lto = false
codegen-units = 16
panic = "unwind"
strip = false
incremental = true
[profile.release]
opt-level = 2
lto = true
codegen-units = 1
panic = "abort"
strip = true
# 压测/火焰图采样用:接近 release,但保留符号并关闭 LTO,方便 perf 展开栈。
# frame pointer 需要通过 RUSTFLAGS 传入:
# RUSTFLAGS="-C force-frame-pointers=yes" cargo build --profile profiling
[profile.profiling]
inherits = "release"
opt-level = 2
codegen-units = 1
debug = true
strip = false
lto = false
panic = "abort"
[profile.release-performance]
inherits = "release"
opt-level = 3
codegen-units = 1
panic = "abort"
strip = true
[features]
default = ["server"]
server = []
openapi = ["dep:utoipa"]
full = ["server", "openapi"]
[dependencies]
actix-cors = "0.7"
actix-web = { version = "4.14.0", features = ["compress-brotli", "compress-gzip"] }
actix-ws = "0.4"
futures-util = "0.3"
mime_guess = "2"
rust-embed = "8"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["fs", "io-util", "macros", "process", "rt-multi-thread", "sync", "time"] }
tokio-util = { version = "0.7", features = ["io"] }
utoipa = { version = "5.5.0", features = ["actix_extras"], optional = true }
uuid = { version = "1", features = ["v4"] }