From 2408949818358bae3866a11d7da3e03268494d5a Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Sat, 9 Nov 2024 10:16:09 +0700 Subject: [PATCH] v2.0: program-runtime: double program cache size (backport of #3481) (#3494) program-runtime: double program cache size (#3481) The cache is currently getting thrashed and programs are getting reloaded pretty much at every single slot. Double the cache size, which makes reloading happen only due to random eviction sometimes picking a popular entry. The JIT code size with the new cache size is about 800MB. This change reduces jit time 15x. (cherry picked from commit fb4adda5a8a59d7eafe942157260c023b962925a) Co-authored-by: Alessandro Decina --- program-runtime/src/loaded_programs.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/program-runtime/src/loaded_programs.rs b/program-runtime/src/loaded_programs.rs index bba852cff2..eab5a21e57 100644 --- a/program-runtime/src/loaded_programs.rs +++ b/program-runtime/src/loaded_programs.rs @@ -35,7 +35,7 @@ use { }; pub type ProgramRuntimeEnvironment = Arc>>; -pub const MAX_LOADED_ENTRY_COUNT: usize = 256; +pub const MAX_LOADED_ENTRY_COUNT: usize = 512; pub const DELAY_VISIBILITY_SLOT_OFFSET: Slot = 1; /// Relationship between two fork IDs @@ -1635,7 +1635,7 @@ mod tests { assert_eq!(num_tombstones, num_tombstones_expected); // Evict entries from the cache - let eviction_pct = 2; + let eviction_pct = 1; let num_loaded_expected = Percentage::from(eviction_pct).apply_to(crate::loaded_programs::MAX_LOADED_ENTRY_COUNT); @@ -1718,7 +1718,7 @@ mod tests { assert_eq!(num_tombstones, num_tombstones_expected); // Evict entries from the cache - let eviction_pct = 2; + let eviction_pct = 1; let num_loaded_expected = Percentage::from(eviction_pct).apply_to(crate::loaded_programs::MAX_LOADED_ENTRY_COUNT);