Mercurial > hg
annotate rust/hg-core/Cargo.toml @ 45609:e604a3c03ab9
rust: introduce `dirstate-tree` cargo feature
This feature gates (at compile-time) the use of the newly-added dirstate tree.
The motivation for this is that the dirstate tree is currently *very* slow;
replacing the current hashmap-based dirstate is not a viable solution in terms
of performance... and why would you be using the Rust implementation if not
for performance?
The feature will also help reviewers better understand the differences that
will slowly appear as the dirstate tree gets better.
Differential Revision: https://phab.mercurial-scm.org/D9132
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Wed, 30 Sep 2020 18:10:53 +0200 |
parents | b0d6309ff50c |
children | 7bd13bf99d1c |
rev | line source |
---|---|
40271
dbc28c91f7ff
rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
1 [package] |
dbc28c91f7ff
rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
2 name = "hg-core" |
dbc28c91f7ff
rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
3 version = "0.1.0" |
dbc28c91f7ff
rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
4 authors = ["Georges Racinet <gracinet@anybox.fr>"] |
dbc28c91f7ff
rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
5 description = "Mercurial pure Rust core library, with no assumption on Python bindings (FFI)" |
42609
326fdce22fb2
rust: switch hg-core and hg-cpython to rust 2018 edition
Raphaël Gomès <rgomes@octobus.net>
parents:
42331
diff
changeset
|
6 edition = "2018" |
40271
dbc28c91f7ff
rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
7 |
dbc28c91f7ff
rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
8 [lib] |
dbc28c91f7ff
rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff
changeset
|
9 name = "hg" |
41692
ee7b7bd432a1
rust: translated random test of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents:
40271
diff
changeset
|
10 |
42302
d1786c1d34fa
rust-dirstate: add rust implementation of `parse_dirstate` and `pack_dirstate`
Raphaël Gomès <rgomes@octobus.net>
parents:
41692
diff
changeset
|
11 [dependencies] |
44599
d31d1c0685be
rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents:
44598
diff
changeset
|
12 byteorder = "1.3.4" |
d31d1c0685be
rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents:
44598
diff
changeset
|
13 hex = "0.4.2" |
d31d1c0685be
rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents:
44598
diff
changeset
|
14 lazy_static = "1.4.0" |
d31d1c0685be
rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents:
44598
diff
changeset
|
15 memchr = "2.3.3" |
d31d1c0685be
rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents:
44598
diff
changeset
|
16 rand = "0.7.3" |
d31d1c0685be
rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents:
44598
diff
changeset
|
17 rand_pcg = "0.2.1" |
d31d1c0685be
rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents:
44598
diff
changeset
|
18 rand_distr = "0.2.2" |
44158
161958ebf73c
rust-dependencies: update rayon
Raphaël Gomès <rgomes@octobus.net>
parents:
44143
diff
changeset
|
19 rayon = "1.3.0" |
44869
4313a0d7540d
rust-dependencies: update `regex` to 1.3.9
Raphaël Gomès <rgomes@octobus.net>
parents:
44599
diff
changeset
|
20 regex = "1.3.9" |
43826
5ac243a92e37
rust-performance: introduce FastHashMap type alias for HashMap
Raphaël Gomès <rgomes@octobus.net>
parents:
43271
diff
changeset
|
21 twox-hash = "1.5.0" |
44301
4caac36c66bc
rust-utils: add util for canonical path
Raphaël Gomès <rgomes@octobus.net>
parents:
44266
diff
changeset
|
22 same-file = "1.0.6" |
44539
fe7d2cf0b429
rust-status: traverse working directory in parallel
Raphaël Gomès <rgomes@octobus.net>
parents:
44386
diff
changeset
|
23 crossbeam = "0.7.3" |
44935
2093b2fc70d4
rust-dependencies: upgrade `micro-timer` dependency
Raphaël Gomès <rgomes@octobus.net>
parents:
44870
diff
changeset
|
24 micro-timer = "0.3.0" |
44540
82f51ab7a2dd
rust: add logging utils
Raphaël Gomès <rgomes@octobus.net>
parents:
44539
diff
changeset
|
25 log = "0.4.8" |
45526
26c53ee51c68
hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents:
44935
diff
changeset
|
26 memmap = "0.7.0" |
26c53ee51c68
hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents:
44935
diff
changeset
|
27 zstd = "0.5.3" |
45531
b0d6309ff50c
hg-core: check data integrity in `Revlog`
Antoine Cezar <antoine.cezar@octobus.net>
parents:
45526
diff
changeset
|
28 rust-crypto = "0.2.36" |
45526
26c53ee51c68
hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents:
44935
diff
changeset
|
29 |
26c53ee51c68
hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents:
44935
diff
changeset
|
30 # We don't use the `miniz-oxide` backend because its minimum Rust version is |
26c53ee51c68
hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents:
44935
diff
changeset
|
31 # `1.36`. However, this PR (https://github.com/Frommi/miniz_oxide/pull/84/files) |
26c53ee51c68
hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents:
44935
diff
changeset
|
32 # introduces a flag `no_extern_crate_alloc` to bring the requirement back down |
26c53ee51c68
hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents:
44935
diff
changeset
|
33 # to `1.34`. |
26c53ee51c68
hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents:
44935
diff
changeset
|
34 [dependencies.flate2] |
26c53ee51c68
hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents:
44935
diff
changeset
|
35 version = "1.0.16" |
26c53ee51c68
hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents:
44935
diff
changeset
|
36 features = ["zlib"] |
26c53ee51c68
hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents:
44935
diff
changeset
|
37 default-features = false |
44265
c18dd48cea4a
rust-pathauditor: add Rust implementation of the `pathauditor`
Raphaël Gomès <rgomes@octobus.net>
parents:
44158
diff
changeset
|
38 |
c18dd48cea4a
rust-pathauditor: add Rust implementation of the `pathauditor`
Raphaël Gomès <rgomes@octobus.net>
parents:
44158
diff
changeset
|
39 [dev-dependencies] |
44386
8f7c6656ac79
rust-nodemap: pure Rust example
Georges Racinet <georges.racinet@octobus.net>
parents:
44305
diff
changeset
|
40 clap = "*" |
8f7c6656ac79
rust-nodemap: pure Rust example
Georges Racinet <georges.racinet@octobus.net>
parents:
44305
diff
changeset
|
41 pretty_assertions = "0.6.1" |
44266
9ab4830e9e3d
rust-hg-path: add useful methods to `HgPath`
Raphaël Gomès <rgomes@octobus.net>
parents:
44265
diff
changeset
|
42 tempfile = "3.1.0" |
45609
e604a3c03ab9
rust: introduce `dirstate-tree` cargo feature
Raphaël Gomès <rgomes@octobus.net>
parents:
45531
diff
changeset
|
43 |
e604a3c03ab9
rust: introduce `dirstate-tree` cargo feature
Raphaël Gomès <rgomes@octobus.net>
parents:
45531
diff
changeset
|
44 [features] |
e604a3c03ab9
rust: introduce `dirstate-tree` cargo feature
Raphaël Gomès <rgomes@octobus.net>
parents:
45531
diff
changeset
|
45 # Use a (still unoptimized) tree for the dirstate instead of the current flat |
e604a3c03ab9
rust: introduce `dirstate-tree` cargo feature
Raphaël Gomès <rgomes@octobus.net>
parents:
45531
diff
changeset
|
46 # dirstate. This is not yet recommended for performance reasons. A future |
e604a3c03ab9
rust: introduce `dirstate-tree` cargo feature
Raphaël Gomès <rgomes@octobus.net>
parents:
45531
diff
changeset
|
47 # version might make it the default, or make it a runtime option. |
e604a3c03ab9
rust: introduce `dirstate-tree` cargo feature
Raphaël Gomès <rgomes@octobus.net>
parents:
45531
diff
changeset
|
48 dirstate-tree = [] |