diff --git a/Cargo.lock b/Cargo.lock index 593a35075c34..2d2410ac379e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2928,6 +2928,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + [[package]] name = "pnp" version = "0.12.1" @@ -3390,6 +3396,26 @@ dependencies = [ "str_indices", ] +[[package]] +name = "rpmalloc" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86179c13cdc0bcedbb60e63c1aebe3bac82162ddfa746320de6dcea31ebe2b06" +dependencies = [ + "rpmalloc-sys", +] + +[[package]] +name = "rpmalloc-sys" +version = "0.2.3+b097fd0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d4b7d5e225a53887ee57fcec492eaf114b8e290f7072d035adc6ddd6810b67b" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "rspack" version = "0.6.1" @@ -3481,6 +3507,7 @@ name = "rspack_allocator" version = "0.6.1" dependencies = [ "mimalloc-rspack", + "rpmalloc", "sftrace-setup", ] diff --git a/crates/rspack_allocator/Cargo.toml b/crates/rspack_allocator/Cargo.toml index 164c9b140829..efff179b6268 100644 --- a/crates/rspack_allocator/Cargo.toml +++ b/crates/rspack_allocator/Cargo.toml @@ -19,3 +19,7 @@ mimalloc = { workspace = true, features = ["v3"] } [target.'cfg(all(not(target_os = "linux"), not(target_os = "macos"), not(target_family = "wasm")))'.dependencies] mimalloc = { workspace = true } + + +[dependencies] +rpmalloc = "0.2.2" diff --git a/crates/rspack_allocator/src/lib.rs b/crates/rspack_allocator/src/lib.rs index 2ba15a2e8eed..c759ab094fee 100644 --- a/crates/rspack_allocator/src/lib.rs +++ b/crates/rspack_allocator/src/lib.rs @@ -1,7 +1,7 @@ #[global_allocator] #[cfg(not(any(miri, target_family = "wasm")))] #[cfg(not(feature = "sftrace-setup"))] -static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc; +static ALLOC: rpmalloc::RpMalloc = rpmalloc::RpMalloc; #[global_allocator] #[cfg(not(any(miri, target_family = "wasm")))] diff --git a/package.json b/package.json index 144e9b5418c1..afca4ca5d97b 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "doc-coverage": "pnpm --filter \"@rspack/core\" doc-coverage", "api-extractor:local": "pnpm --filter \"@rspack/*\" api-extractor --local", "api-extractor:ci": "pnpm --filter \"@rspack/*\" api-extractor:ci", - "bench:ci": "pnpm run bench:prepare && cargo codspeed run && pnpm --filter bench run bench", + "bench:ci": "pnpm run bench:prepare && cargo codspeed run", "bench:prepare": "node ./scripts/bench/setup.mjs" }, "homepage": "https://rspack.rs", @@ -99,4 +99,4 @@ "esbuild" ] } -} +} \ No newline at end of file