Mercurial > hg-stable
changeset 44861:83c97c0bd319
rust-matchers: add timing tracing to regex compilation
This might be useful to diagnose later performance issues or just to show
the difference between engines.
Differential Revision: https://phab.mercurial-scm.org/D8498
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Thu, 07 May 2020 10:10:13 +0200 |
parents | cfe86fbc722e |
children | 2c073d82fbfa |
files | rust/hg-core/src/matchers.rs |
diffstat | 1 files changed, 4 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/rust/hg-core/src/matchers.rs Mon May 04 10:06:53 2020 -0400 +++ b/rust/hg-core/src/matchers.rs Thu May 07 10:10:13 2020 +0200 @@ -31,6 +31,8 @@ use std::ops::Deref; use std::path::{Path, PathBuf}; +use micro_timer::timed; + #[derive(Debug, PartialEq)] pub enum VisitChildrenSet<'a> { /// Don't visit anything @@ -322,6 +324,7 @@ /// /// This can fail when the pattern is invalid or not supported by the /// underlying engine `Re2`, for instance anything with back-references. +#[timed] fn re_matcher( pattern: &[u8], ) -> PatternResult<impl Fn(&HgPath) -> bool + Sync> { @@ -337,6 +340,7 @@ /// This can fail when the pattern is invalid or not supported by the /// underlying engine (the `regex` crate), for instance anything with /// back-references. +#[timed] fn re_matcher( pattern: &[u8], ) -> PatternResult<impl Fn(&HgPath) -> bool + Sync> {