diff options
author | Aspen Smith <root@gws.fyi> | 2024-02-13T18·23-0500 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-06-06T10·29+0000 |
commit | d0ab3c8d15b2293d7752227d50c1b9cbabc57a83 (patch) | |
tree | 6e9b7b27376eb34585eb0be599b17bf02e89c3d8 /tvix/Cargo.nix | |
parent | 08e520b7ccdf39bed2e7ecef6bc0cbb16b01455f (diff) |
feat(tvix): Switch to jemalloc r/8222
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>
Diffstat (limited to 'tvix/Cargo.nix')
-rw-r--r-- | tvix/Cargo.nix | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/tvix/Cargo.nix b/tvix/Cargo.nix index 694356d1eab2..1f92aed2830d 100644 --- a/tvix/Cargo.nix +++ b/tvix/Cargo.nix @@ -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"; @@ -13221,6 +13287,11 @@ rec { 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" ]; @@ -13535,6 +13611,11 @@ rec { packageId = "thiserror"; } { + name = "tikv-jemallocator"; + packageId = "tikv-jemallocator"; + target = { target, features }: (!("msvc" == target."env" or null)); + } + { name = "tokio"; packageId = "tokio"; } |