Hi everyone, to compute some functions I needed to loop over a bunch of edges. I realized that the call to property maps seems slow compare to a dictionary. I am a bit surprised since I was told - I am not an expert in python - that a query in a dictionary was already. So I was wondering if I made a mistake in using graph_tool. Following is an example of comparison. Best, F. In [3]: _network = gt.load_graph(_dataFolder + 'networkLTA-2.0-scc.xml') _network = gt.load_graph(_dataFolder + 'networkLTA-2.0-scc.xml') In [4]: _network.list_properties() destination (vertex) (type: long double) _graphml_vertex_id (vertex) (type: string) origin (vertex) (type: long double) _graphml_edge_id (edge) (type: string) speed (edge) (type: long double) name (edge) (type: string) time (edge) (type: long double) In [5]: _edgeIds = _network.edge_properties['_graphml_edge_id'] _times = _network.edge_properties["time"] _speeds = _network.edge_properties["speed"] _origin = _network.vertex_properties['origin'] _destination = _network.vertex_properties['destination'] In [8]: _edges = [_e for _e in _network.edges()] %time for _e in _network.edges() : a = _speeds[_e] _speedDict = {} for _e in _edges : _speedDict[_network.edge_index[_e]] = _speeds[_e] _indexes = [_network.edge_index[_e] for _e in _network.edges()] %time for _n in _indexes : a = _speedDict[_n] CPU times: user 102 ms, sys: 5 ms, total: 107 ms Wall time: 103 ms CPU times: user 2 ms, sys: 0 ns, total: 2 ms Wall time: 1.94 ms