Skip to content

Commit ac1c09d

Browse files
authored
Merge pull request #353 from djarecka/mnt/checksum_states
[mnt] make checksum_state faster (fixes 349)
2 parents 832118a + bcb647b commit ac1c09d

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

pydra/engine/core.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -262,8 +262,6 @@ def checksum_states(self, state_index=None):
262262
TODO
263263
264264
"""
265-
self.state.prepare_states(self.inputs)
266-
self.state.prepare_inputs()
267265
if state_index is not None:
268266
inputs_copy = deepcopy(self.inputs)
269267
for key, ind in self.state.inputs_ind[state_index].items():
@@ -284,6 +282,9 @@ def checksum_states(self, state_index=None):
284282
return checksum_ind
285283
else:
286284
checksum_list = []
285+
if not hasattr(self.state, "inputs_ind"):
286+
self.state.prepare_states(self.inputs)
287+
self.state.prepare_inputs()
287288
for ind in range(len(self.state.inputs_ind)):
288289
checksum_list.append(self.checksum_states(state_index=ind))
289290
return checksum_list
@@ -611,7 +612,8 @@ def result(self, state_index=None, return_inputs=False):
611612
return self._combined_output(return_inputs=return_inputs)
612613
else:
613614
results = []
614-
for checksum in self.checksum_states():
615+
for ind in range(len(self.state.inputs_ind)):
616+
checksum = self.checksum_states(state_index=ind)
615617
result = load_result(checksum, self.cache_locations)
616618
if result is None:
617619
return None

0 commit comments

Comments
 (0)