rust-matchers: add timing tracing to regex compilation
authorRaphaël Gomès <rgomes@octobus.net>
Thu, 07 May 2020 10:10:13 +0200
changeset 44861 83c97c0bd319
parent 44860 cfe86fbc722e
child 44862 2c073d82fbfa
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
rust/hg-core/src/matchers.rs
--- 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> {