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

Reply via email to