view rust/hg-core/Cargo.toml @ 46775:c94fa884240b

rust: Preallocate the returned `Vec` in `utils::files::relativize_path` Profiling `rhg files > /dev/null` on an old snapshot of mozilla-central (with `perf` and the Firefox Profiler: https://github.com/firefox-devtools/profiler/blob/main/docs-user/guide-perf-profiling.md) showed non-trivial time spend in this function and in `realloc`. This change makes the wall-clock time for that process on my machine go from ~190 ms to ~150 ms. Differential Revision: https://phab.mercurial-scm.org/D10199
author Simon Sapin <simon.sapin@octobus.net>
date Sat, 13 Mar 2021 08:59:03 +0100
parents 12d59eec7f1d
children 441024b279a6
line wrap: on
line source

[package]
name = "hg-core"
version = "0.1.0"
authors = ["Georges Racinet <gracinet@anybox.fr>"]
description = "Mercurial pure Rust core library, with no assumption on Python bindings (FFI)"
edition = "2018"

[lib]
name = "hg"

[dependencies]
bytes-cast = "0.1"
byteorder = "1.3.4"
derive_more = "0.99"
home = "0.5"
im-rc = "15.0.*"
lazy_static = "1.4.0"
rand = "0.7.3"
rand_pcg = "0.2.1"
rand_distr = "0.2.2"
rayon = "1.3.0"
regex = "1.3.9"
twox-hash = "1.5.0"
same-file = "1.0.6"
crossbeam-channel = "0.4"
micro-timer = "0.3.0"
log = "0.4.8"
memmap = "0.7.0"
zstd = "0.5.3"
rust-crypto = "0.2.36"
format-bytes = "0.2.2"

# We don't use the `miniz-oxide` backend to not change rhg benchmarks and until
# we have a clearer view of which backend is the fastest.
[dependencies.flate2]
version = "1.0.16"
features = ["zlib"]
default-features = false

[dev-dependencies]
clap = "*"
pretty_assertions = "0.6.1"
tempfile = "3.1.0"

[features]
# Use a (still unoptimized) tree for the dirstate instead of the current flat
# dirstate. This is not yet recommended for performance reasons. A future
# version might make it the default, or make it a runtime option.
dirstate-tree = []