##// 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:

r45238:9fc9526e default
r51076:02fe65f7 default
Show More
Cargo.toml
22 lines | 474 B | application/toml | TOMLLexer
Yuya Nishihara
rust-chg: add project skeleton...
r40003 [package]
name = "chg"
version = "0.1.0"
authors = ["Yuya Nishihara <yuya@tcha.org>"]
description = "Client for Mercurial command server with cHg extension"
license = "GPL-2.0+"
Yuya Nishihara
rust-chg: upgrade to 2018 edition and remove useless extern crates...
r45179 edition = "2018"
Yuya Nishihara
rust-chg: add project skeleton...
r40003
[dependencies]
Yuya Nishihara
rust-chg: upgrade to futures-0.3 based libraries...
r45231 async-trait = "0.1"
bytes = "0.5"
futures = "0.3"
Yuya Nishihara
rust-chg: add project skeleton...
r40003 libc = "0.2"
Yuya Nishihara
rust-chg: depend on log and tokio_timer...
r40323 log = { version = "0.4", features = ["std"] }
Yuya Nishihara
rust-chg: upgrade to futures-0.3 based libraries...
r45231 tokio-hglib = "0.3"
[dependencies.tokio]
version = "0.2"
features = ["rt-core", "io-util", "time", "process", "macros"]
Yuya Nishihara
rust-chg: add project skeleton...
r40003
[build-dependencies]
cc = "1.0"