Pablo Galindo Salgado <[email protected]> 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(test_data)) # The one in PyPi
910 ms ± 2.1 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
>>> %timeit list(functools.toposort(test_data)) # 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
----------
Removed message: https://bugs.python.org/msg334099
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue17005>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com