Mercurial > public > mercurial-scm > hg
view rust/hg-core/src/operations/mod.rs @ 51106:687e192dae16
rust-matchers: fix quadratic complexity in `FileMatcher`
Concretely, this command:
```
$ echo hg up -r <nodeid>; time hg revert dir1 dir2 -r <othernode> --debug
hg up -r <nodeid>
real 0m14.690s
user 0m14.766s
sys 0m5.430s
```
was much slower despite using 16 cores before this change.
The approach taken here is the same one used in match.py, in exactmatcher.
This changeset was originally written by Valentin Gatien-Baron in a private
repository.
I have redacted the commit message and did a minor clean up of the code.
author | Rapha?l Gom?s <rgomes@octobus.net> |
---|---|
date | Wed, 18 Oct 2023 14:50:14 +0200 |
parents | 95ffa065204e |
children | ac3859a8b796 |
line wrap: on
line source
//! A distinction is made between operations and commands. //! An operation is what can be done whereas a command is what is exposed by //! the cli. A single command can use several operations to achieve its goal. mod cat; mod debugdata; mod list_tracked_files; pub use cat::{cat, CatOutput}; pub use debugdata::{debug_data, DebugDataKind}; pub use list_tracked_files::{list_rev_tracked_files, FilesForRev};