User: Rust is the product (option a). tools/edge-bench-rs moves to edge/
(crate edge; binaries edge-node, the worker, and edge-bench, the replay).
CI's new job edge runs cargo test and edge/check-fixtures.sh: both
RangeIndexers on three committed captures (edge/fixtures, 25k overview
lines each of a.b.models, a.b.ath and a.b.boneless in 5 chunks, 3.5 MB),
compared field by field with check.ts; deploy waits for it. The
TypeScript RangeIndexer stays as check.ts's reference. README: what it
is now; the benchmark findings as history.
Random names: looksRandom missed long tokens of capitals and digits
("51294P1CUKR2R35X", release 74539068, readable and a Newznab title).
12+ capitals and digits switching 6+ times between them are random
(COD4MW2REMASTERED switches 4 times, BEATLES1964REMASTER twice); both
implementations, identical on the fixtures.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
35 lines
733 B
TOML
35 lines
733 B
TOML
[package]
|
|
name = "edge"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Voyager 2's edge worker (edge-node) and its benchmark (edge-bench): the RangeIndexer in Rust, kept identical to lib/edge (check.ts)"
|
|
|
|
[[bin]]
|
|
name = "edge-bench"
|
|
path = "src/main.rs"
|
|
|
|
[[bin]]
|
|
name = "edge-node"
|
|
path = "src/bin/edge-node.rs"
|
|
|
|
[dependencies]
|
|
base64 = "0.22"
|
|
chrono = "0.4"
|
|
flate2 = { version = "1", default-features = false, features = ["zlib-rs"] }
|
|
libdeflater = "1.26.1"
|
|
md-5 = "0.10"
|
|
memchr = "2.8.3"
|
|
mimalloc = "0.1.52"
|
|
regex = "1"
|
|
rustc-hash = "2"
|
|
serde = { version = "1.0.229", features = ["derive"] }
|
|
serde_json = "1.0.151"
|
|
sha1 = "0.10"
|
|
signal-hook = "0.4.5"
|
|
ureq = "3.4.2"
|
|
zstd = "0.13"
|
|
|
|
[profile.release]
|
|
lto = true
|
|
codegen-units = 1
|