diff options
author | Ilan Joselevich <personal@ilanjoselevich.com> | 2024-08-07T21·21+0300 |
---|---|---|
committer | Ilan Joselevich <personal@ilanjoselevich.com> | 2024-08-08T08·06+0000 |
commit | f648f17ec3dd9b99d6271f607d62004c321b7c8f (patch) | |
tree | 5fe247815cc72c39675cf80f178d9c6865b5c93e /tvix/nix-compat | |
parent | 000fb856befa667bfc4ac36fe3794f97ad34a1bd (diff) |
feat(tvix): Jemalloc -> MiMalloc r/8461
Use the faster and newer MiMalloc memory allocator for all endpoints in the workspace. Change-Id: Ic60237284ed168e46ec6e8f28e2710bae4385c6f Reviewed-on: https://cl.tvl.fyi/c/depot/+/12149 Tested-by: BuildkiteCI Reviewed-by: aspen <root@gws.fyi>
Diffstat (limited to 'tvix/nix-compat')
-rw-r--r-- | tvix/nix-compat/Cargo.toml | 2 | ||||
-rw-r--r-- | tvix/nix-compat/benches/derivation_parse_aterm.rs | 4 | ||||
-rw-r--r-- | tvix/nix-compat/benches/narinfo_parse.rs | 4 | ||||
-rw-r--r-- | tvix/nix-compat/src/bin/drvfmt.rs | 5 |
4 files changed, 15 insertions, 0 deletions
diff --git a/tvix/nix-compat/Cargo.toml b/tvix/nix-compat/Cargo.toml index 73928b1acd30..dc77c5cf0ad1 100644 --- a/tvix/nix-compat/Cargo.toml +++ b/tvix/nix-compat/Cargo.toml @@ -20,6 +20,7 @@ ed25519 = "2.2.3" ed25519-dalek = "2.1.0" enum-primitive-derive = "0.3.0" glob = "0.3.0" +mimalloc = "0.1.43" nom = "7.1.3" num-traits = "0.2.18" serde = { version = "1.0", features = ["derive"] } @@ -41,6 +42,7 @@ criterion = { version = "0.5", features = ["html_reports"] } futures = { version = "0.3.30", default-features = false, features = ["executor"] } hex-literal = "0.4.1" lazy_static = "1.4.0" +mimalloc = "0.1.43" pretty_assertions = "1.4.0" rstest = "0.19.0" serde_json = "1.0" diff --git a/tvix/nix-compat/benches/derivation_parse_aterm.rs b/tvix/nix-compat/benches/derivation_parse_aterm.rs index 4ace7d4480f4..6557dd17af37 100644 --- a/tvix/nix-compat/benches/derivation_parse_aterm.rs +++ b/tvix/nix-compat/benches/derivation_parse_aterm.rs @@ -1,8 +1,12 @@ use std::path::Path; use criterion::{black_box, criterion_group, criterion_main, Criterion}; +use mimalloc::MiMalloc; use nix_compat::derivation::Derivation; +#[global_allocator] +static GLOBAL: MiMalloc = MiMalloc; + const RESOURCES_PATHS: &str = "src/derivation/tests/derivation_tests/ok"; fn bench_aterm_parser(c: &mut Criterion) { diff --git a/tvix/nix-compat/benches/narinfo_parse.rs b/tvix/nix-compat/benches/narinfo_parse.rs index 7ffd24d12bc3..f35ba8468a88 100644 --- a/tvix/nix-compat/benches/narinfo_parse.rs +++ b/tvix/nix-compat/benches/narinfo_parse.rs @@ -1,8 +1,12 @@ use criterion::{black_box, criterion_group, criterion_main, Criterion, Throughput}; use lazy_static::lazy_static; +use mimalloc::MiMalloc; use nix_compat::narinfo::NarInfo; use std::{io, str}; +#[global_allocator] +static GLOBAL: MiMalloc = MiMalloc; + const SAMPLE: &str = r#"StorePath: /nix/store/1pajsq519irjy86vli20bgq1wr1q3pny-banking-0.3.0 URL: nar/0rdn027rxqbl42bv9jxhsipgq2hwqdapvwmdzligmzdmz2p9vybs.nar.xz Compression: xz diff --git a/tvix/nix-compat/src/bin/drvfmt.rs b/tvix/nix-compat/src/bin/drvfmt.rs index ddc1f0389f26..fca22c2cb2ae 100644 --- a/tvix/nix-compat/src/bin/drvfmt.rs +++ b/tvix/nix-compat/src/bin/drvfmt.rs @@ -3,6 +3,11 @@ use std::{collections::BTreeMap, io::Read}; use nix_compat::derivation::Derivation; use serde_json::json; +use mimalloc::MiMalloc; + +#[global_allocator] +static GLOBAL: MiMalloc = MiMalloc; + /// construct a serde_json::Value from a Derivation. /// Some environment values can be non-valid UTF-8 strings. /// `serde_json` prints them out really unreadable. |