Pablo Galindo Salgado <pablog...@gmail.com> added the comment: I have updated the PR to receive a dictionary of sets as in Eric V. Smith's package. I have maintained the guts of the current algorithm as it scales much better:
>>> test_data = {x:{x+n for n in range(100)} for x in range(1000)} >>> %timeit list(toposort.toposort(l)) # The one in PyPi 910 ms ± 2.1 ms per loop (mean ± std. dev. of 7 runs, 1 loop each) >>> %timeit list(functools.toposort(l)) # In this PR 69.3 ms ± 280 µs per loop (mean ± std. dev. of 7 runs, 10 loops each) >>> list(functools.toposort(l)) == list(toposort.toposort(l)) True ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue17005> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com