Skip to content

Commit e9fb94e

Browse files
committedApr 29, 2021
Use sets for connected_ports
- Faster operations for update and contains
·
1.10.01.6.1
1 parent bc85f3e commit e9fb94e

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed
 

‎nipype/pipeline/engine/workflows.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -166,15 +166,16 @@ def connect(self, *args, **kwargs):
166166
connected_ports = {}
167167
for srcnode, destnode, connects in connection_list:
168168
if destnode not in connected_ports:
169-
connected_ports[destnode] = []
169+
connected_ports[destnode] = set()
170170
# check to see which ports of destnode are already
171171
# connected.
172172
if not disconnect and (destnode in self._graph.nodes()):
173173
for edge in self._graph.in_edges(destnode):
174174
data = self._graph.get_edge_data(*edge)
175-
for sourceinfo, destname in data["connect"]:
176-
if destname not in connected_ports[destnode]:
177-
connected_ports[destnode] += [destname]
175+
connected_ports[destnode].update(
176+
destname
177+
for _, destname in data["connect"]
178+
)
178179
for source, dest in connects:
179180
# Currently datasource/sink/grabber.io modules
180181
# determine their inputs/outputs depending on
@@ -229,7 +230,7 @@ def connect(self, *args, **kwargs):
229230
)
230231
if sourcename and not srcnode._check_outputs(sourcename):
231232
not_found.append(["out", srcnode.name, sourcename])
232-
connected_ports[destnode] += [dest]
233+
connected_ports[destnode].add(dest)
233234
infostr = []
234235
for info in not_found:
235236
infostr += [

0 commit comments

Comments
 (0)
Please sign in to comment.