feat(tvix): Switch to jemalloc
Switch tvix to using jemalloc as the default global allocator on
supported (eg, non-msvc) platforms. This gives a pretty reasonable
performance boost basically for free:
int time: [24.361 µs 24.386 µs 24.418 µs]
change: [-19.355% -18.859% -18.527%] (p = 0.00 < 0.05)
Performance has improved.
merge small attrs time: [37.201 µs 37.328 µs 37.442 µs]
change: [-24.609% -24.266% -23.982%] (p = 0.00 < 0.05)
Performance has improved.
merge large attrs with small attrs
time: [20.030 ms 20.135 ms 20.251 ms]
change: [-4.2811% -3.2549% -2.3807%] (p = 0.00 < 0.05)
Performance has improved.
hello outpath time: [967.91 ms 974.07 ms 983.33 ms]
change: [-5.5008% -4.4552% -3.4099%] (p = 0.00 < 0.05)
Performance has improved.
Change-Id: I6c6e6e3295ec2fca01ea28dc37bcb201cd811767
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10851
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: flokli <flokli@flokli.de>
This commit is contained in:
parent
08e520b7cc
commit
d0ab3c8d15
8 changed files with 132 additions and 0 deletions
|
|
@ -26,3 +26,6 @@ tracing-subscriber = "0.3.16"
|
|||
|
||||
[dependencies.wu-manber]
|
||||
git = "https://github.com/tvlfyi/wu-manber.git"
|
||||
|
||||
[target.'cfg(not(target_env = "msvc"))'.dependencies]
|
||||
tikv-jemallocator = "0.5"
|
||||
|
|
|
|||
|
|
@ -18,6 +18,13 @@ use tvix_glue::tvix_io::TvixIO;
|
|||
use tvix_glue::tvix_store_io::TvixStoreIO;
|
||||
use tvix_glue::{builtins::add_derivation_builtins, configure_nix_path};
|
||||
|
||||
#[cfg(not(target_env = "msvc"))]
|
||||
use tikv_jemallocator::Jemalloc;
|
||||
|
||||
#[cfg(not(target_env = "msvc"))]
|
||||
#[global_allocator]
|
||||
static GLOBAL: Jemalloc = Jemalloc;
|
||||
|
||||
#[derive(Parser, Clone)]
|
||||
struct Args {
|
||||
#[arg(long)]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue