perf(catalog): parallelize production manifest hashing

Production catalog generation previously prepared every game serially and computed transfer-chunk hashes for extracted .eti files even though those hashes were discarded. Enable Rayon-backed BLAKE3 hashing, process selected games through the shared available-CPU pool, and hash large read blocks with update_rayon. Extracted outputs now use a whole-file-only hash path. Manifest collection remains deterministic and the independent second verification pass is preserved.

Test Plan:
- `just clippy` -- passed
- `just test` -- passed
This commit is contained in:
ddidderr committed 2026-08-20 07:59:38 +02:00
1 parent a977585f6d
commit bb5547f1b3
6 files changed
+143 -25

No files matched your search

+2 -1
View File
@@ -13,7 +13,7 @@ members = [
[workspace.dependencies]
base64 = "0.23"
blake3 = "1"
blake3 = { version = "1", features = ["rayon"] }
bytes = { version = "1", features = ["serde"] }
cap-fs-ext = { version = "4", default-features = false }
cap-primitives = "4"
@@ -25,6 +25,7 @@ if-addrs = "0.15"
log = "0.4"
mdns-sd = "0.20"
mimalloc = { version = "0.1", features = ["secure"] }
rayon = "1"
rcgen = {
version = "=0.14.8",
default-features = false,