Carl Friedrich Bolz-Tereick pushed to branch branch/py3.8 at PyPy / pypy
Commits: 47160ca6 by Dennis Sweeney at 2021-03-10T01:47:36-05:00 Reimplement heapq.merge() using a linked tournamet tree. This method saves "<" comparisons in almost all cases, especially when one iterable wins repeatedly. It also eliminates the "==" comparisons required in the tuple comparisons of the previous algorithm. Sort stability is maintained by the structure of the tree rather than by storing indices. This follows https://bugs.python.org/issue38938 (thanks Raymond Hettinger for the basic implementation idea) --HG-- branch : heapq_merge - - - - - 2de89493 by Dennis Sweeney at 2021-03-10T12:42:01-05:00 Add extra test cases for heapq.merge(), both Hypothesis and randomized. --HG-- branch : heapq_merge - - - - - 3b44d42e by Carl Friedrich Bolz-Tereick at 2021-03-10T20:21:09+01:00 still use hypothesis for the random sampling, to get shrinking etc --HG-- branch : heapq_merge - - - - - 243c0a6d by Carl Friedrich Bolz-Tereick at 2021-03-10T20:06:17+00:00 Merge branch 'branch/heapq_merge' into 'branch/py3.8' Reimplement heapq.merge() using a linked tournamet tree. See merge request pypy/pypy!809 --HG-- branch : py3.8 - - - - - 2 changed files: - + extra_tests/test_heapq.py - lib-python/3/heapq.py View it on GitLab: https://foss.heptapod.net/pypy/pypy/-/compare/71978a7031219ba54a64b333a4425074f1154a4c...243c0a6d5008e1ef1183ddded2f3d3ae6eb91c74 -- View it on Heptapod: https://foss.heptapod.net/pypy/pypy/-/compare/71978a7031219ba54a64b333a4425074f1154a4c...243c0a6d5008e1ef1183ddded2f3d3ae6eb91c74 You're receiving this email because of your account on foss.heptapod.net.
_______________________________________________ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
