Mercurial > hg
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 = []