tgen/jetstream

Slow workflow graph construction - optimize input/output handling

Opened this issue · 0 comments

This problem has been on my radar for a long time, but it hasn't been a priority because the time to build graphs for every workflow I've seen has been very small. If anyone is experiencing long wait times while building workflows, an explanation of the problem is below:

The time complexity for graph construction when tasks include input/output directives is something >=n^2. For each input directive, the workflow tasks are searched for a matching output directive. This could be greatly improved by adding nodes to the graph for each output directive. But, it's going to take some big modifications to the Workflow, graph, and iterator classes.