Examples: $ python benchmark.py topological_sort inst_600000 Module <module 'topological_sort'> Num vertices: 199496 Num arcs: 600000 Time: 15.645081996917725 s Feasible solution? True $ python benchmark.py topological_sort_recursive inst_600000 Module <module 'topological_sort_recursive'> Num vertices: 199496 Num arcs: 600000 ^C Too long... $ python benchmark.py proposed_topological_sort inst_600000 Module <module 'proposed_topological_sort'> Num vertices: 199496 Num arcs: 600000 Time: 0.6334869861602783 s Feasible solution? True $ python benchmark.py proposed_topological_sort_recursive inst_600000 Module <module 'proposed_topological_sort_recursive'> Num vertices: 199496 Num arcs: 600000 Time: 0.4905271530151367 s Feasible solution? True