Mercurial > public > mercurial-scm > hg-stable
view tests/test-extensions-wrapfunction.py.out @ 50220:02fe65f74be5
convert: use a priority queue for sorting commits, to make sorting faster
To achieve this, we turn commit sorters into classes so they can
encapsulate state.
This reduces the sorting time from ~30s to ~10s on a 500k-commit
prefix of a repo I tried to convert. (and probably reduces the time
to sort the whole repo from many tens of minutes to minutes, but I
didn't try that again)
The date caching gets removed because priority queue already
caches the key.
author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
---|---|
date | Thu, 23 Feb 2023 23:25:28 +0100 |
parents | 82bd4c5a81e5 |
children |
line wrap: on
line source
wrap 0: [0, 'orig'] wrap 1: [1, 0, 'orig'] wrap 2: [2, 1, 0, 'orig'] wrap 3: [3, 2, 1, 0, 'orig'] wrap 4: [4, 3, 2, 1, 0, 'orig'] wrap 0: [0, 4, 3, 2, 1, 0, 'orig'] unwrap 3: 3: [0, 4, 2, 1, 0, 'orig'] unwrap -: 0: [4, 2, 1, 0, 'orig'] unwrap 0: 0: [4, 2, 1, 'orig'] unwrap 4: 4: [2, 1, 'orig'] unwrap 0: -: ValueError unwrap 2: 2: [1, 'orig'] unwrap 1: 1: ['orig'] unwrap -: -: IndexError context manager ['orig'] context manager [1, 'orig'] context manager [0, 1, 'orig'] context manager [2, 0, 1, 'orig'] context manager [2, 1, 'orig'] context manager [2, 'orig'] wrap callable object [0, 'orig']