diff --git a/Cargo.lock b/Cargo.lock index 750d23b..dfe0d18 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2383,6 +2383,7 @@ dependencies = [ "lanspread-mdns", "lanspread-proto", "lanspread-utils", + "mimalloc", "s2n-quic", "semver", "serde_json", @@ -2402,6 +2403,7 @@ dependencies = [ "lanspread-db", "lanspread-mdns", "log", + "mimalloc", "serde", "serde_json", "tauri", @@ -2486,6 +2488,16 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" +[[package]] +name = "libmimalloc-sys" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf88cd67e9de251c1781dbe2f641a1a3ad66eaae831b8a2c38fbdc5ddae16d4d" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "libredox" version = "0.1.4" @@ -2619,6 +2631,15 @@ dependencies = [ "autocfg", ] +[[package]] +name = "mimalloc" +version = "0.1.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1791cbe101e95af5764f06f20f6760521f7158f69dbf9d6baf941ee1bf6bc40" +dependencies = [ + "libmimalloc-sys", +] + [[package]] name = "mime" version = "0.3.17" diff --git a/Cargo.toml b/Cargo.toml index 898d04b..f33ceed 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,6 +20,7 @@ gethostname = "1" itertools = "0.14" log = "0.4" mdns-sd = "0.13" +mimalloc = { version = "0.1", features = ["secure"] } s2n-quic = { version = "1", features = ["provider-event-tracing"] } semver = "1" serde = { version = "1", features = ["derive"] } diff --git a/crates/lanspread-server/Cargo.toml b/crates/lanspread-server/Cargo.toml index 0039199..1b4fc99 100644 --- a/crates/lanspread-server/Cargo.toml +++ b/crates/lanspread-server/Cargo.toml @@ -26,6 +26,7 @@ clap = { workspace = true } eyre = { workspace = true } gethostname = { workspace = true } itertools = { workspace = true } +mimalloc = { workspace = true } s2n-quic = { workspace = true } serde_json = { workspace = true } semver = { workspace = true } diff --git a/crates/lanspread-server/src/main.rs b/crates/lanspread-server/src/main.rs index a7928fd..7ec2791 100644 --- a/crates/lanspread-server/src/main.rs +++ b/crates/lanspread-server/src/main.rs @@ -1,3 +1,8 @@ +use mimalloc::MiMalloc; + +#[global_allocator] +static GLOBAL: MiMalloc = MiMalloc; + mod cli; mod quic; mod req; diff --git a/crates/lanspread-tauri-deno-ts/src-tauri/Cargo.toml b/crates/lanspread-tauri-deno-ts/src-tauri/Cargo.toml index e81a413..b750c56 100644 --- a/crates/lanspread-tauri-deno-ts/src-tauri/Cargo.toml +++ b/crates/lanspread-tauri-deno-ts/src-tauri/Cargo.toml @@ -26,6 +26,7 @@ lanspread-mdns = { path = "../../lanspread-mdns" } # external eyre = { workspace = true } log = { workspace = true } +mimalloc = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } tauri = { workspace = true } diff --git a/crates/lanspread-tauri-deno-ts/src-tauri/src/main.rs b/crates/lanspread-tauri-deno-ts/src-tauri/src/main.rs index bbb9848..3565366 100644 --- a/crates/lanspread-tauri-deno-ts/src-tauri/src/main.rs +++ b/crates/lanspread-tauri-deno-ts/src-tauri/src/main.rs @@ -1,6 +1,11 @@ // Prevents additional console window on Windows in release, DO NOT REMOVE!! #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] +use mimalloc::MiMalloc; + +#[global_allocator] +static GLOBAL: MiMalloc = MiMalloc; + fn main() { lanspread_tauri_deno_ts_lib::run() }