Mercurial > public > mercurial-scm > hg
view rust/hg-core/src/exit_codes.rs @ 51422:7c6d0b9dde37
rust-index: improve phase computation speed
While less memory efficient, using an array is *much* faster than using a
HashMap, especially with the default hasher. It even makes the code simpler,
so I'm not really sure what I was thinking in the first place, maybe it's more
obvious now.
This fix a significant performance regression when using the rust version of the
code. (however, the C code still outperform rust on this operation)
hg perf::phases on mozilla-try-2023-03-22
- 6.6.3: 0.451239 seconds
- before: 0.982495 seconds
- after: 0.265347 seconds
- C code: 0.183241 second
author | Rapha?l Gom?s <rgomes@octobus.net> |
---|---|
date | Thu, 22 Feb 2024 15:06:16 +0100 |
parents | 7c93e38a0bbd |
children |
line wrap: on
line source
pub type ExitCode = i32; /// Successful exit pub const OK: ExitCode = 0; /// Generic abort pub const ABORT: ExitCode = 255; // Abort when there is a config related error pub const CONFIG_ERROR_ABORT: ExitCode = 30; /// Indicates that the operation might work if retried in a different state. /// Examples: Unresolved merge conflicts, unfinished operations pub const STATE_ERROR: ExitCode = 20; // Abort when there is an error while parsing config pub const CONFIG_PARSE_ERROR_ABORT: ExitCode = 10; /// Generic something completed but did not succeed pub const UNSUCCESSFUL: ExitCode = 1; /// Command or feature not implemented by rhg pub const UNIMPLEMENTED: ExitCode = 252; /// The fallback path is not valid pub const INVALID_FALLBACK: ExitCode = 253;