##// END OF EJS Templates
convert: use a priority queue for sorting commits, to make sorting faster...
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.

File last commit:

r46277:57b5452a default
r51076:02fe65f7 default
Show More
Cargo.toml
28 lines | 819 B | application/toml | TOMLLexer
[package]
name = "hgcli"
version = "0.1.0"
build = "build.rs"
authors = ["Gregory Szorc <gregory.szorc@gmail.com>"]
edition = "2018"
license = "GPL-2.0"
readme = "README.md"
[[bin]]
name = "hg"
path = "src/main.rs"
[dependencies]
jemallocator-global = { version = "0.3", optional = true }
[dependencies.pyembed]
git = "https://github.com/indygreg/PyOxidizer.git"
rev = "4697fb25918dfad6dc73288daeea501063963a08"
default-features = false
[features]
default = ["build-mode-pyoxidizer-exe"]
jemalloc = ["jemallocator-global", "pyembed/jemalloc"]
build-mode-pyoxidizer-exe = ["pyembed/build-mode-pyoxidizer-exe"]
build-mode-prebuilt-artifacts = ["pyembed/build-mode-prebuilt-artifacts"]
cpython-link-unresolved-static = ["pyembed/cpython-link-unresolved-static"]
cpython-link-default = ["pyembed/cpython-link-default"]