From 311c059846017ea0db87161bdcedbead01ef75ee Mon Sep 17 00:00:00 2001 From: Lionel GUEZ <guez@lmd.ens.fr> Date: Thu, 12 Oct 2023 14:16:33 +0200 Subject: [PATCH] Use property map for out-degree This seems to be a little faster, even if we do not use out-degree for all the nodes. For `Global_1993_2023/Graph_anti`, this commit reduces the time to define `traj_prop` from 23 s to 20 s. --- Trajectories/trajectories.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Trajectories/trajectories.py b/Trajectories/trajectories.py index f66f1696..2ae477f6 100755 --- a/Trajectories/trajectories.py +++ b/Trajectories/trajectories.py @@ -76,6 +76,7 @@ traj_vert_ind = [] # of vertex indices. in_deg_prop = g.degree_property_map("in") +out_deg_prop = g.degree_property_map("out") # Loop to define traj_prop: for n in topology.topological_sort(g): @@ -89,11 +90,11 @@ for n in topology.topological_sort(g): pred = g.get_in_neighbors(n) if in_deg_prop[pred[0]] == 1 == in_deg_prop[pred[1]] \ - and np.all(g.get_out_degrees(pred) == 1): + == out_deg_prop[pred[0]] == out_deg_prop[pred[1]]: n1 = g.get_in_neighbors(pred[0])[0] n2 = g.get_in_neighbors(pred[1])[0] - if n1 == n2 and g.vertex(n1).out_degree() == 2: + if n1 == n2 and out_deg_prop[n1] == 2: # We have a splitting event at n1 immediately followed # by a merging at n. Check the time interval between # splitting and merging. The date of merging is the -- GitLab