From d3ae15638645ea624e0bbf393c1866e9ee9584e6 Mon Sep 17 00:00:00 2001 From: erwan <erwan.jahier@univ-grenoble-alpes.fr> Date: Fri, 23 Jul 2021 11:31:06 +0200 Subject: [PATCH] perf: remove useless copy of process states (/10 memory on some examples!) --- lib/sasacore/simuState.ml | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/lib/sasacore/simuState.ml b/lib/sasacore/simuState.ml index 390be6bc..18e77b9f 100644 --- a/lib/sasacore/simuState.ml +++ b/lib/sasacore/simuState.ml @@ -1,4 +1,4 @@ -(* Time-stamp: <modified the 20/05/2021 (at 09:09) by Erwan Jahier> *) +(* Time-stamp: <modified the 23/07/2021 (at 11:19) by Erwan Jahier> *) open Register @@ -60,9 +60,10 @@ let (neigbors_of_pid : 'v t -> pid -> 's * ('s neighbor * pid) list) = Env.get st.config pid, List.map (fun n -> n, n.Register.pid) nl -let (update_neighbor_env: 'v Env.t -> 'v Register.neighbor list -> 'v Register.neighbor list) = +let (update_neighbor_env: + 'v Env.t -> 'v Register.neighbor list -> 'v Register.neighbor list) = fun e nl -> - List.map (fun n -> { n with state = Env.get_copy e n.Register.pid }) nl + List.map (fun n -> { n with state = Env.get e n.Register.pid }) nl let update_neighbors config neighbors = StringMap.map (fun nl -> update_neighbor_env config nl) @@ -84,14 +85,7 @@ let (get_enable_processes: 'v t -> 'v enable_processes) = assert (pl_n <> []); let all = List.fold_left (fun acc (p,nl) -> - (* let nl0 = nl in *) - (* let nl = update_neighbor_env e nl in (* already done? *) *) - (* if List.exists2 (fun n1 n2 -> (n1.state <> n2.state)) nl nl0 then ( *) - (* dump_process "avant" (p,nl0); *) - (* dump_process "apres" (p,nl); *) - (* assert false *) - (* ); *) - let lenv = Env.get_copy e p.pid in + let lenv = Env.get e p.pid in let al = p.enable nl lenv in let al = List.map (fun a -> -- GitLab