From 8534cd7f0c9474883202ff5ed66b1b0d5d0f8859 Mon Sep 17 00:00:00 2001 From: Eduard-Mihai Burtescu Date: Thu, 24 Sep 2020 20:17:21 +0300 Subject: [PATCH] [experiment/perf] Disable jemalloc's time-delayed purging, for extra determinism. --- compiler/rustc/src/main.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/compiler/rustc/src/main.rs b/compiler/rustc/src/main.rs index 6bc5aa6382c4c..eafe62d316aa9 100644 --- a/compiler/rustc/src/main.rs +++ b/compiler/rustc/src/main.rs @@ -24,6 +24,12 @@ fn main() { static _F5: unsafe extern "C" fn(*mut c_void, usize) -> *mut c_void = jemalloc_sys::realloc; #[used] static _F6: unsafe extern "C" fn(*mut c_void) = jemalloc_sys::free; + + // HACK(eddyb) disable time-delayed purging to remove the main (only?) + // source of non-determinism in `jemalloc`. + #[used] + #[export_name = "malloc_conf"] + static MALLOC_CONF: &'static [u8; 34] = b"dirty_decay_ms:0,muzzy_decay_ms:0\0"; } rustc_driver::set_sigpipe_handler();