1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-05-05 20:27:45 +00:00

Switch out rand crate with fastrand

It's just smaller, the less crates we compile the better.
This commit is contained in:
Joshua Goins 2025-05-02 23:06:59 -04:00
parent 1aaa78d2cc
commit 29aba2748b
4 changed files with 14 additions and 108 deletions

105
Cargo.lock generated
View file

@ -375,6 +375,12 @@ version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
[[package]]
name = "fastrand"
version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
[[package]]
name = "flate2"
version = "1.1.1"
@ -440,18 +446,6 @@ dependencies = [
"slab",
]
[[package]]
name = "getrandom"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0"
dependencies = [
"cfg-if",
"libc",
"r-efi",
"wasi 0.14.2+wasi-0.2.4",
]
[[package]]
name = "gimli"
version = "0.31.1"
@ -751,11 +745,11 @@ dependencies = [
"axum-extra",
"binrw",
"bitflags 1.3.2",
"fastrand",
"md5",
"minijinja",
"mlua",
"physis",
"rand",
"reqwest",
"rkon",
"rusqlite",
@ -912,7 +906,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
dependencies = [
"libc",
"wasi 0.11.0+wasi-snapshot-preview1",
"wasi",
"windows-sys 0.52.0",
]
@ -1068,15 +1062,6 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
[[package]]
name = "ppv-lite86"
version = "0.2.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
dependencies = [
"zerocopy",
]
[[package]]
name = "proc-macro2"
version = "1.0.95"
@ -1095,42 +1080,6 @@ dependencies = [
"proc-macro2",
]
[[package]]
name = "r-efi"
version = "5.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
[[package]]
name = "rand"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94"
dependencies = [
"rand_chacha",
"rand_core",
"zerocopy",
]
[[package]]
name = "rand_chacha"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
dependencies = [
"ppv-lite86",
"rand_core",
]
[[package]]
name = "rand_core"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
dependencies = [
"getrandom",
]
[[package]]
name = "redox_syscall"
version = "0.5.11"
@ -1625,15 +1574,6 @@ version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasi"
version = "0.14.2+wasi-0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
dependencies = [
"wit-bindgen-rt",
]
[[package]]
name = "wasm-bindgen"
version = "0.2.100"
@ -1914,15 +1854,6 @@ version = "0.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904"
[[package]]
name = "wit-bindgen-rt"
version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
dependencies = [
"bitflags 2.9.0",
]
[[package]]
name = "write16"
version = "1.0.0"
@ -1959,26 +1890,6 @@ dependencies = [
"synstructure",
]
[[package]]
name = "zerocopy"
version = "0.8.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.8.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.100",
]
[[package]]
name = "zerofrom"
version = "0.1.6"

View file

@ -68,7 +68,7 @@ tracing = { version = "0.1", default-features = false }
tracing-subscriber = { version = "0.3", features = ["fmt"], default-features = false }
# Used currently for SID generation
rand = { version = "0.9", features = ["std", "thread_rng"], default-features = false }
fastrand = { version = "2.3", features = ["std"], default-features = false }
# HTML templates used in the web servers
minijinja = { version = "2.9", features = ["serde"], default-features = false }

View file

@ -1,7 +1,5 @@
use std::sync::Mutex;
use rand::Rng;
use rand::distr::Alphanumeric;
use rusqlite::Connection;
use crate::ipc::lobby::ServiceAccount;
@ -52,7 +50,7 @@ impl LoginDatabase {
}
fn generate_account_id() -> u32 {
rand::random()
fastrand::u32(..)
}
/// Adds a new user to the database.
@ -114,11 +112,8 @@ impl LoginDatabase {
}
fn generate_sid() -> String {
let random_id: String = rand::rng()
.sample_iter(&Alphanumeric)
.take(56)
.map(char::from)
.collect();
let random_id: String = String::from_utf8([fastrand::alphanumeric() as u8; 56].to_vec())
.expect("Failed to create random SID");
random_id.to_lowercase()
}

View file

@ -310,11 +310,11 @@ impl WorldDatabase {
}
fn generate_content_id() -> u32 {
rand::random()
fastrand::u32(..)
}
fn generate_actor_id() -> u32 {
rand::random()
fastrand::u32(..)
}
/// Gives (content_id, actor_id)