This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pablogsal
Recipients belopolsky, christian.heimes, eric.smith, gdr@garethrees.org, martin.panter, pablogsal, remi.lapeyre, rhettinger, terry.reedy, tshepang
Date 2019-01-20.20:42:38
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1548016958.92.0.0561692386438.issue17005@roundup.psfhosted.org>
In-reply-to
Content
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
History
Date User Action Args
2019-01-20 20:42:40pablogsalsetrecipients: + pablogsal, rhettinger, terry.reedy, belopolsky, eric.smith, christian.heimes, tshepang, gdr@garethrees.org, martin.panter, remi.lapeyre
2019-01-20 20:42:38pablogsalsetmessageid: <1548016958.92.0.0561692386438.issue17005@roundup.psfhosted.org>
2019-01-20 20:42:38pablogsallinkissue17005 messages
2019-01-20 20:42:38pablogsalcreate