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:41:47
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1548016907.16.0.3262192043.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(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
History
Date User Action Args
2019-01-20 20:42:41pablogsalunlinkissue17005 messages
2019-01-20 20:41:48pablogsalsetrecipients: + pablogsal, rhettinger, terry.reedy, belopolsky, eric.smith, christian.heimes, tshepang, gdr@garethrees.org, martin.panter, remi.lapeyre
2019-01-20 20:41:47pablogsalsetmessageid: <1548016907.16.0.3262192043.issue17005@roundup.psfhosted.org>
2019-01-20 20:41:47pablogsallinkissue17005 messages
2019-01-20 20:41:47pablogsalcreate