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
|
@ -11190,6 +11190,72 @@ rec {
|
|||
];
|
||||
features = { };
|
||||
};
|
||||
"tikv-jemalloc-sys" = rec {
|
||||
crateName = "tikv-jemalloc-sys";
|
||||
version = "0.5.4+5.3.0-patched";
|
||||
edition = "2018";
|
||||
links = "jemalloc";
|
||||
sha256 = "1lc5vm1p9dqdvd3mn3264zddnd7z6i95ch3y69prnjgxp0y480ll";
|
||||
authors = [
|
||||
"Alex Crichton <alex@alexcrichton.com>"
|
||||
"Gonzalo Brito Gadeschi <gonzalobg88@gmail.com>"
|
||||
"The TiKV Project Developers"
|
||||
];
|
||||
dependencies = [
|
||||
{
|
||||
name = "libc";
|
||||
packageId = "libc";
|
||||
usesDefaultFeatures = false;
|
||||
}
|
||||
];
|
||||
buildDependencies = [
|
||||
{
|
||||
name = "cc";
|
||||
packageId = "cc";
|
||||
}
|
||||
];
|
||||
features = {
|
||||
"background_threads" = [ "background_threads_runtime_support" ];
|
||||
"default" = [ "background_threads_runtime_support" ];
|
||||
};
|
||||
resolvedDefaultFeatures = [ "background_threads_runtime_support" ];
|
||||
};
|
||||
"tikv-jemallocator" = rec {
|
||||
crateName = "tikv-jemallocator";
|
||||
version = "0.5.4";
|
||||
edition = "2018";
|
||||
sha256 = "1jpanfm9az8hcbg6dyxdabykx03lj0j4g9cbwfa6rig5dg1f0pwn";
|
||||
authors = [
|
||||
"Alex Crichton <alex@alexcrichton.com>"
|
||||
"Gonzalo Brito Gadeschi <gonzalobg88@gmail.com>"
|
||||
"Simon Sapin <simon.sapin@exyr.org>"
|
||||
"Steven Fackler <sfackler@gmail.com>"
|
||||
"The TiKV Project Developers"
|
||||
];
|
||||
dependencies = [
|
||||
{
|
||||
name = "libc";
|
||||
packageId = "libc";
|
||||
usesDefaultFeatures = false;
|
||||
}
|
||||
{
|
||||
name = "tikv-jemalloc-sys";
|
||||
packageId = "tikv-jemalloc-sys";
|
||||
usesDefaultFeatures = false;
|
||||
}
|
||||
];
|
||||
features = {
|
||||
"background_threads" = [ "tikv-jemalloc-sys/background_threads" ];
|
||||
"background_threads_runtime_support" = [ "tikv-jemalloc-sys/background_threads_runtime_support" ];
|
||||
"debug" = [ "tikv-jemalloc-sys/debug" ];
|
||||
"default" = [ "background_threads_runtime_support" ];
|
||||
"disable_initial_exec_tls" = [ "tikv-jemalloc-sys/disable_initial_exec_tls" ];
|
||||
"profiling" = [ "tikv-jemalloc-sys/profiling" ];
|
||||
"stats" = [ "tikv-jemalloc-sys/stats" ];
|
||||
"unprefixed_malloc_on_supported_platforms" = [ "tikv-jemalloc-sys/unprefixed_malloc_on_supported_platforms" ];
|
||||
};
|
||||
resolvedDefaultFeatures = [ "background_threads_runtime_support" "default" ];
|
||||
};
|
||||
"time" = rec {
|
||||
crateName = "time";
|
||||
version = "0.3.34";
|
||||
|
@ -13220,6 +13286,11 @@ rec {
|
|||
name = "thiserror";
|
||||
packageId = "thiserror";
|
||||
}
|
||||
{
|
||||
name = "tikv-jemallocator";
|
||||
packageId = "tikv-jemallocator";
|
||||
target = { target, features }: (!("msvc" == target."env" or null));
|
||||
}
|
||||
{
|
||||
name = "tokio";
|
||||
packageId = "tokio";
|
||||
|
@ -13414,6 +13485,11 @@ rec {
|
|||
name = "tempfile";
|
||||
packageId = "tempfile";
|
||||
}
|
||||
{
|
||||
name = "tikv-jemallocator";
|
||||
packageId = "tikv-jemallocator";
|
||||
target = { target, features }: (!("msvc" == target."env" or null));
|
||||
}
|
||||
];
|
||||
features = {
|
||||
"arbitrary" = [ "proptest" "test-strategy" "imbl/proptest" ];
|
||||
|
@ -13534,6 +13610,11 @@ rec {
|
|||
name = "thiserror";
|
||||
packageId = "thiserror";
|
||||
}
|
||||
{
|
||||
name = "tikv-jemallocator";
|
||||
packageId = "tikv-jemallocator";
|
||||
target = { target, features }: (!("msvc" == target."env" or null));
|
||||
}
|
||||
{
|
||||
name = "tokio";
|
||||
packageId = "tokio";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue