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
--- 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> {