Hi, I am computing a weight for each edge, in a graph of some million nodes and about 50 mil edges. Initially, it was doing 25000 edges per minute, so it should have finished processing in about 30+ hours. Now I check the server for results after more than 72 hours, and the process is still running, but very slowly, doing less than 1000 edges per minute. Is there anything I am doing wrong, or what could be the reason for such a slowdown?
I list here the code:
def compute_exclusivities(g): count = 0 excl = g.new_edge_property("double") g.edge_properties["Exclusivity"] = excl edges = g.get_edges([g.edge_properties["label_id"]]) for edge in edges: edges_of_head = g.get_out_edges(edge[0], [g.edge_properties["label_id"]]) count_edges_ofhead_sametype = len(np.where(np.where(edges_of_head == edge[2])[1] == 2)[0]) edges_of_tail = g.get_in_edges(edge[1], [g.edge_properties["label_id"]]) count_edges_oftail_sametype = len(np.where(np.where(edges_of_tail == edge[2])[1] == 2)[0]) excl[g.edge(edge[0], edge[1])] = 1 / (count_edges_ofhead_sametype + count_edges_oftail_sametype - 1) count = count + 1 if count % 1000 == 0: print(count, " exclusivities computed")
Thanks, Ioana
-- Sent from: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/