From 4d659dfd74c01e70afd0d0b1d50327b12dfe0073 Mon Sep 17 00:00:00 2001 From: FrancoGiachetta Date: Mon, 8 Jul 2024 14:28:48 -0300 Subject: [PATCH 1/8] add flamegraph + update readme --- README.md | 18 ++ docs/benchmarks/flamegraph.svg | 491 +++++++++++++++++++++++++++++++++ 2 files changed, 509 insertions(+) create mode 100644 docs/benchmarks/flamegraph.svg diff --git a/README.md b/README.md index 28a0a25..a5d0163 100644 --- a/README.md +++ b/README.md @@ -43,3 +43,21 @@ As an example, to show only error messages from the replay crate, run: ```bash RUST_LOG=replay=error cargo run block mainnet 648461 ``` + +### Flamegraph + +In order to create a flamegraph you first need to install `cargo-flamegraph`: +```bash + cargo install flamegraph +``` + +then use this command to create one by running a transaction: +```bash +cargo flamegraph --root --dev -- +``` + +## Example + +```bash +cargo flamegraph --root --dev -- 0x1b84bb4760a05c88ceab90a4fb9f37e2f518c822a655abe46361a61a88200fa mainnet 656535 +``` diff --git a/docs/benchmarks/flamegraph.svg b/docs/benchmarks/flamegraph.svg new file mode 100644 index 0000000..89fe6c7 --- /dev/null +++ b/docs/benchmarks/flamegraph.svg @@ -0,0 +1,491 @@ +Flame Graph Reset ZoomSearch libsystem_platform.dylib`_platform_memmove (1 samples, 9.09%)libsystem_pla..replay`<replay::ReplayCLI as clap_builder::derive::CommandFactory>::command (1 samples, 9.09%)replay`<repla..replay`<replay::ReplayCLI as clap_builder::derive::Args>::augment_args (1 samples, 9.09%)replay`<repla..replay`<replay::ReplayExecute as clap_builder::derive::Subcommand>::augment_subcommands (1 samples, 9.09%)replay`<repla..replay`clap_builder::builder::arg::Arg::value_name (1 samples, 9.09%)replay`clap_b..replay`clap_builder::builder::arg::Arg::value_names (1 samples, 9.09%)replay`clap_b..replay`core::iter::traits::iterator::Iterator::collect (1 samples, 9.09%)replay`core::..replay`<alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter (1 samples, 9.09%)replay`<alloc..replay`<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (1 samples, 9.09%)replay`<alloc..replay`<alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter (1 samples, 9.09%)replay`<alloc..replay`<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (1 samples, 9.09%)replay`<alloc..replay`alloc::vec::Vec<T,A>::extend_trusted (1 samples, 9.09%)replay`alloc:..replay`core::iter::traits::iterator::Iterator::for_each (1 samples, 9.09%)replay`core::..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (1 samples, 9.09%)replay`<core:..replay`<core::array::iter::IntoIter<T,_> as core::iter::traits::iterator::Iterator>::fold (1 samples, 9.09%)replay`<core:..replay`core::ops::try_trait::NeverShortCircuit<T>::wrap_mut_2::_{{closure}} (1 samples, 9.09%)replay`core::..replay`clap_builder::derive::Parser::parse (2 samples, 18.18%)replay`clap_builder::derive:..replay`clap_builder::builder::command::Command::get_matches (1 samples, 9.09%)replay`clap_b..replay`clap_builder::builder::command::Command::get_matches_from (1 samples, 9.09%)replay`clap_b..replay`core::result::Result<T,E>::unwrap_or_else (1 samples, 9.09%)replay`core::..replay`clap_builder::builder::command::Command::get_matches_from::_{{closure}} (1 samples, 9.09%)replay`clap_b..replay`clap_builder::error::Error<F>::print (1 samples, 9.09%)replay`clap_b..replay`clap_builder::util::safe_exit (1 samples, 9.09%)replay`clap_b..replay`std::sync::once::Once::call_once::_{{closure}} (1 samples, 9.09%)replay`std::s..replay`std::sys::pal::unix::pipe::anon_pipe (1 samples, 9.09%)replay`std::s..libsystem_c.dylib`exit (1 samples, 9.09%)libsystem_c.d..libsystem_c.dylib`__cxa_finalize_ranges (1 samples, 9.09%)libsystem_c.d..replay`llvm::cl::opt<llvm::PGOViewCountsType, false, llvm::cl::parser<llvm::PGOViewCountsType>>::~opt (1 samples, 9.09%)replay`llvm::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (1 samples, 9.09%)replay`regex_..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 9.09%)replay`<core:..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 9.09%)replay`core::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class_reverse_with_suffix (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::patch (1 samples, 9.09%)replay`regex_..replay`core::cell::RefCell<T>::borrow_mut (1 samples, 9.09%)replay`core::..replay`core::cell::RefCell<T>::try_borrow_mut (1 samples, 9.09%)replay`core::..replay`core::ptr::non_null::NonNull<T>::new_unchecked::precondition_check (1 samples, 9.09%)replay`core::..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back (2 samples, 18.18%)replay`<core::iter::adapters..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 18.18%)replay`core::ops::function::..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (2 samples, 18.18%)replay`regex_automata::nfa::..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 18.18%)replay`<core::iter::adapters..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 18.18%)replay`core::ops::function::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (2 samples, 18.18%)replay`regex_automata::nfa::..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back (2 samples, 18.18%)replay`<core::iter::adapters..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 18.18%)replay`core::ops::function::..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_bounded (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (1 samples, 9.09%)replay`regex_..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back (1 samples, 9.09%)replay`<core:..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 9.09%)replay`core::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly::_{{closure}} (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (1 samples, 9.09%)replay`regex_..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 9.09%)replay`<core:..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 9.09%)replay`core::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class_reverse_with_suffix (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::map::Utf8SuffixMap::get (1 samples, 9.09%)replay`regex_..replay`<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (1 samples, 9.09%)replay`<alloc..replay`<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (1 samples, 9.09%)replay`<alloc..replay`core::slice::raw::from_raw_parts::precondition_check (1 samples, 9.09%)replay`core::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (1 samples, 9.09%)replay`regex_..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 9.09%)replay`<core:..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 9.09%)replay`core::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::add (1 samples, 9.09%)replay`regex_..replay`core::iter::traits::iterator::Iterator::count (1 samples, 9.09%)replay`core::..replay`<core::iter::adapters::take_while::TakeWhile<I,P> as core::iter::traits::iterator::Iterator>::fold (1 samples, 9.09%)replay`<core:..replay`<core::iter::adapters::take_while::TakeWhile<I,P> as core::iter::traits::iterator::Iterator>::try_fold (1 samples, 9.09%)replay`<core:..replay`core::iter::traits::iterator::Iterator::try_fold (1 samples, 9.09%)replay`core::..replay`<core::iter::adapters::take_while::TakeWhile<I,P> as core::iter::traits::iterator::Iterator>::try_fold::check::_{{closure}} (1 samples, 9.09%)replay`<core:..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::add::_{{closure}} (1 samples, 9.09%)replay`regex_..replay`core::option::Option<T>::map_or (1 samples, 9.09%)replay`core::..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::add::_{{closure}}::_{{closure}} (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::add (1 samples, 9.09%)replay`regex_..replay`core::iter::traits::iterator::Iterator::zip (1 samples, 9.09%)replay`core::..replay`<core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::new (1 samples, 9.09%)replay`<core:..replay`regex_automata::meta::regex::Builder::build_many_from_hir (5 samples, 45.45%)replay`regex_automata::meta::regex::Builder::build_many_from_hirreplay`regex_automata::meta::strategy::new (5 samples, 45.45%)replay`regex_automata::meta::strategy::newreplay`regex_automata::meta::strategy::Core::new (5 samples, 45.45%)replay`regex_automata::meta::strategy::Core::newreplay`regex_automata::nfa::thompson::compiler::Compiler::build_many_from_hir (5 samples, 45.45%)replay`regex_automata::nfa::thompson::compiler::Compiler::build_many_from_h..replay`regex_automata::nfa::thompson::compiler::Compiler::compile (5 samples, 45.45%)replay`regex_automata::nfa::thompson::compiler::Compiler::compilereplay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (5 samples, 45.45%)replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iterreplay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (5 samples, 45.45%)replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (5 samples, 45.45%)replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> fo..replay`regex_automata::nfa::thompson::compiler::Compiler::compile::_{{closure}} (5 samples, 45.45%)replay`regex_automata::nfa::thompson::compiler::Compiler::compile::_{{closu..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (5 samples, 45.45%)replay`regex_automata::nfa::thompson::compiler::Compiler::c_capreplay`regex_automata::nfa::thompson::compiler::Compiler::c (5 samples, 45.45%)replay`regex_automata::nfa::thompson::compiler::Compiler::creplay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (5 samples, 45.45%)replay`regex_automata::nfa::thompson::compiler::Compiler::c_concatreplay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (3 samples, 27.27%)replay`<core::iter::adapters::map::Map<I,F> ..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (3 samples, 27.27%)replay`core::ops::function::impls::_<impl co..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (3 samples, 27.27%)replay`<core::iter::adapters::map::Map<I,F> ..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (3 samples, 27.27%)replay`core::ops::function::impls::_<impl co..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (3 samples, 27.27%)replay`<core::iter::adapters::map::Map<I,F> ..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (3 samples, 27.27%)replay`core::ops::function::impls::_<impl co..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c_bounded (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (2 samples, 18.18%)replay`regex_automata::nfa::..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 18.18%)replay`<core::iter::adapters..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 18.18%)replay`core::ops::function::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly::_{{closure}} (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (2 samples, 18.18%)replay`regex_automata::nfa::..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 18.18%)replay`<core::iter::adapters..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 18.18%)replay`core::ops::function::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::new (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Utf8State::clear (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::map::Utf8BoundedMap::clear (1 samples, 9.09%)replay`regex_..replay`alloc::vec::from_elem (1 samples, 9.09%)replay`alloc:..replay`<T as alloc::vec::spec_from_elem::SpecFromElem>::from_elem (1 samples, 9.09%)replay`<T as ..replay`alloc::vec::Vec<T,A>::extend_with (1 samples, 9.09%)replay`alloc:..replay`<once_cell::sync::Lazy<T,F> as core::ops::deref::Deref>::deref (6 samples, 54.55%)replay`<once_cell::sync::Lazy<T,F> as core::ops::deref::Deref>::derefreplay`once_cell::sync::Lazy<T,F>::force (6 samples, 54.55%)replay`once_cell::sync::Lazy<T,F>::forcereplay`once_cell::sync::OnceCell<T>::get_or_init (6 samples, 54.55%)replay`once_cell::sync::OnceCell<T>::get_or_initreplay`once_cell::sync::OnceCell<T>::get_or_try_init (6 samples, 54.55%)replay`once_cell::sync::OnceCell<T>::get_or_try_initreplay`once_cell::imp::OnceCell<T>::initialize (6 samples, 54.55%)replay`once_cell::imp::OnceCell<T>::initializereplay`once_cell::imp::initialize_or_wait (6 samples, 54.55%)replay`once_cell::imp::initialize_or_waitreplay`core::ops::function::impls::_<impl core::ops::function::FnMut<A> for &mut F>::call_mut (6 samples, 54.55%)replay`core::ops::function::impls::_<impl core::ops::function::FnMut<A> for &mut F>::call_..replay`once_cell::imp::OnceCell<T>::initialize::_{{closure}} (6 samples, 54.55%)replay`once_cell::imp::OnceCell<T>::initialize::_{{closure}}replay`once_cell::sync::OnceCell<T>::get_or_init::_{{closure}} (6 samples, 54.55%)replay`once_cell::sync::OnceCell<T>::get_or_init::_{{closure}}replay`once_cell::sync::Lazy<T,F>::force::_{{closure}} (6 samples, 54.55%)replay`once_cell::sync::Lazy<T,F>::force::_{{closure}}replay`core::ops::function::FnOnce::call_once (6 samples, 54.55%)replay`core::ops::function::FnOnce::call_oncereplay`core::ops::function::FnOnce::call_once (6 samples, 54.55%)replay`core::ops::function::FnOnce::call_oncereplay`tracing_subscriber::filter::env::directive::Directive::parse::DIRECTIVE_RE::_{{closure}} (6 samples, 54.55%)replay`tracing_subscriber::filter::env::directive::Directive::parse::DIRECTIVE_RE::_{{clos..replay`regex::regex::string::Regex::new (6 samples, 54.55%)replay`regex::regex::string::Regex::newreplay`regex::builders::string::RegexBuilder::build (6 samples, 54.55%)replay`regex::builders::string::RegexBuilder::buildreplay`regex::builders::Builder::build_one_string (6 samples, 54.55%)replay`regex::builders::Builder::build_one_stringreplay`regex_automata::meta::regex::Builder::build (6 samples, 54.55%)replay`regex_automata::meta::regex::Builder::buildreplay`regex_automata::meta::regex::Builder::build_many (6 samples, 54.55%)replay`regex_automata::meta::regex::Builder::build_manyreplay`regex_syntax::ast::parse::Parser::parse (1 samples, 9.09%)replay`regex_..replay`regex_syntax::ast::parse::ParserI<P>::parse (1 samples, 9.09%)replay`regex_..replay`regex_syntax::ast::parse::ParserI<P>::parse_with_comments (1 samples, 9.09%)replay`regex_..replay`regex_syntax::ast::parse::ParserI<P>::parse_primitive (1 samples, 9.09%)replay`regex_..replay`regex_syntax::ast::parse::ParserI<P>::bump (1 samples, 9.09%)replay`regex_..replay`regex_syntax::ast::parse::ParserI<P>::offset (1 samples, 9.09%)replay`regex_..replay`regex_syntax::ast::parse::ParserI<P>::parser (1 samples, 9.09%)replay`regex_..dyld`start (10 samples, 90.91%)dyld`startreplay`main (10 samples, 90.91%)replay`mainreplay`std::rt::lang_start (10 samples, 90.91%)replay`std::rt::lang_startreplay`std::rt::lang_start_internal (10 samples, 90.91%)replay`std::rt::lang_start_internalreplay`std::rt::lang_start::_{{closure}} (9 samples, 81.82%)replay`std::rt::lang_start::_{{closure}}replay`std::sys_common::backtrace::__rust_begin_short_backtrace (9 samples, 81.82%)replay`std::sys_common::backtrace::__rust_begin_short_backtracereplay`core::ops::function::FnOnce::call_once (9 samples, 81.82%)replay`core::ops::function::FnOnce::call_oncereplay`replay::main (9 samples, 81.82%)replay`replay::mainreplay`replay::set_global_subscriber (7 samples, 63.64%)replay`replay::set_global_subscriberreplay`<tracing_subscriber::filter::env::directive::Directive as core::str::traits::FromStr>::from_str (7 samples, 63.64%)replay`<tracing_subscriber::filter::env::directive::Directive as core::str::traits::FromStr>::from_strreplay`tracing_subscriber::filter::env::directive::Directive::parse (7 samples, 63.64%)replay`tracing_subscriber::filter::env::directive::Directive::parsereplay`regex::regex::string::Regex::captures (1 samples, 9.09%)replay`regex:..replay`regex::regex::string::Regex::captures_at (1 samples, 9.09%)replay`regex:..replay`regex_automata::meta::regex::Regex::search_captures (1 samples, 9.09%)replay`regex_..replay`regex_automata::meta::regex::Regex::search_slots (1 samples, 9.09%)replay`regex_..replay`regex_automata::util::pool::Pool<T,F>::get (1 samples, 9.09%)replay`regex_..replay`regex_automata::util::pool::inner::Pool<T,F>::get (1 samples, 9.09%)replay`regex_..replay`regex_automata::util::pool::inner::Pool<T,F>::get_slow (1 samples, 9.09%)replay`regex_..replay`<alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call (1 samples, 9.09%)replay`<alloc..replay`regex_automata::meta::regex::Builder::build_many_from_hir::_{{closure}} (1 samples, 9.09%)replay`regex_..replay`<regex_automata::meta::strategy::Core as regex_automata::meta::strategy::Strategy>::create_cache (1 samples, 9.09%)replay`<regex..replay`regex_automata::meta::wrappers::PikeVM::create_cache (1 samples, 9.09%)replay`regex_..replay`regex_automata::meta::wrappers::PikeVMCache::new (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::pikevm::PikeVM::create_cache (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::pikevm::Cache::new (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::pikevm::ActiveStates::new (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::pikevm::ActiveStates::reset (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::pikevm::SlotTable::reset (1 samples, 9.09%)replay`regex_..replay`alloc::vec::Vec<T,A>::resize (1 samples, 9.09%)replay`alloc:..replay`alloc::vec::Vec<T,A>::extend_with (1 samples, 9.09%)replay`alloc:..all (11 samples, 100%)libsystem_kernel.dylib`__exit (1 samples, 9.09%)libsystem_ker.. \ No newline at end of file From 226c5a72a64440a10c2a5ca0edd90408284f228d Mon Sep 17 00:00:00 2001 From: FrancoGiachetta Date: Mon, 8 Jul 2024 14:39:22 -0300 Subject: [PATCH 2/8] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a5d0163..0087143 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ then use this command to create one by running a transaction: cargo flamegraph --root --dev -- ``` -## Example +#### Example ```bash cargo flamegraph --root --dev -- 0x1b84bb4760a05c88ceab90a4fb9f37e2f518c822a655abe46361a61a88200fa mainnet 656535 From c9fa3615447e7f3116872ee36e46892b526ae167 Mon Sep 17 00:00:00 2001 From: FrancoGiachetta Date: Mon, 8 Jul 2024 14:41:13 -0300 Subject: [PATCH 3/8] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0087143..c565135 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ RUST_LOG=replay=error cargo run block mainnet 648461 ### Flamegraph -In order to create a flamegraph you first need to install `cargo-flamegraph`: +In order to create a flamegraph you first need to install [cargo-flamegraph](https://github.com/killercup/cargo-flamegraph): ```bash cargo install flamegraph ``` From bdb4d1129a1329f56d8bea604aa4674098173ae2 Mon Sep 17 00:00:00 2001 From: FrancoGiachetta Date: Mon, 8 Jul 2024 14:42:25 -0300 Subject: [PATCH 4/8] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c565135..1a3c75a 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ RUST_LOG=replay=error cargo run block mainnet 648461 In order to create a flamegraph you first need to install [cargo-flamegraph](https://github.com/killercup/cargo-flamegraph): ```bash - cargo install flamegraph +cargo install flamegraph ``` then use this command to create one by running a transaction: From 996c0ee59cda932b7f2facaf649c531529a494b9 Mon Sep 17 00:00:00 2001 From: FrancoGiachetta Date: Mon, 8 Jul 2024 14:46:25 -0300 Subject: [PATCH 5/8] update readme --- README.md | 8 ++------ docs/benchmarks/flamegraph.svg | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 1a3c75a..c11c271 100644 --- a/README.md +++ b/README.md @@ -51,13 +51,9 @@ In order to create a flamegraph you first need to install [cargo-flamegraph](htt cargo install flamegraph ``` -then use this command to create one by running a transaction: -```bash -cargo flamegraph --root --dev -- -``` - #### Example +Producing a flamegraph of a tx execution would look like this: ```bash -cargo flamegraph --root --dev -- 0x1b84bb4760a05c88ceab90a4fb9f37e2f518c822a655abe46361a61a88200fa mainnet 656535 +cargo flamegraph --root --dev -- tx 0x1b84bb4760a05c88ceab90a4fb9f37e2f518c822a655abe46361a61a88200fa mainnet 656535 ``` diff --git a/docs/benchmarks/flamegraph.svg b/docs/benchmarks/flamegraph.svg index 89fe6c7..4fa973d 100644 --- a/docs/benchmarks/flamegraph.svg +++ b/docs/benchmarks/flamegraph.svg @@ -488,4 +488,4 @@ function search(term) { function format_percent(n) { return n.toFixed(4) + "%"; } -]]>Flame Graph Reset ZoomSearch libsystem_platform.dylib`_platform_memmove (1 samples, 9.09%)libsystem_pla..replay`<replay::ReplayCLI as clap_builder::derive::CommandFactory>::command (1 samples, 9.09%)replay`<repla..replay`<replay::ReplayCLI as clap_builder::derive::Args>::augment_args (1 samples, 9.09%)replay`<repla..replay`<replay::ReplayExecute as clap_builder::derive::Subcommand>::augment_subcommands (1 samples, 9.09%)replay`<repla..replay`clap_builder::builder::arg::Arg::value_name (1 samples, 9.09%)replay`clap_b..replay`clap_builder::builder::arg::Arg::value_names (1 samples, 9.09%)replay`clap_b..replay`core::iter::traits::iterator::Iterator::collect (1 samples, 9.09%)replay`core::..replay`<alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter (1 samples, 9.09%)replay`<alloc..replay`<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (1 samples, 9.09%)replay`<alloc..replay`<alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter (1 samples, 9.09%)replay`<alloc..replay`<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (1 samples, 9.09%)replay`<alloc..replay`alloc::vec::Vec<T,A>::extend_trusted (1 samples, 9.09%)replay`alloc:..replay`core::iter::traits::iterator::Iterator::for_each (1 samples, 9.09%)replay`core::..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (1 samples, 9.09%)replay`<core:..replay`<core::array::iter::IntoIter<T,_> as core::iter::traits::iterator::Iterator>::fold (1 samples, 9.09%)replay`<core:..replay`core::ops::try_trait::NeverShortCircuit<T>::wrap_mut_2::_{{closure}} (1 samples, 9.09%)replay`core::..replay`clap_builder::derive::Parser::parse (2 samples, 18.18%)replay`clap_builder::derive:..replay`clap_builder::builder::command::Command::get_matches (1 samples, 9.09%)replay`clap_b..replay`clap_builder::builder::command::Command::get_matches_from (1 samples, 9.09%)replay`clap_b..replay`core::result::Result<T,E>::unwrap_or_else (1 samples, 9.09%)replay`core::..replay`clap_builder::builder::command::Command::get_matches_from::_{{closure}} (1 samples, 9.09%)replay`clap_b..replay`clap_builder::error::Error<F>::print (1 samples, 9.09%)replay`clap_b..replay`clap_builder::util::safe_exit (1 samples, 9.09%)replay`clap_b..replay`std::sync::once::Once::call_once::_{{closure}} (1 samples, 9.09%)replay`std::s..replay`std::sys::pal::unix::pipe::anon_pipe (1 samples, 9.09%)replay`std::s..libsystem_c.dylib`exit (1 samples, 9.09%)libsystem_c.d..libsystem_c.dylib`__cxa_finalize_ranges (1 samples, 9.09%)libsystem_c.d..replay`llvm::cl::opt<llvm::PGOViewCountsType, false, llvm::cl::parser<llvm::PGOViewCountsType>>::~opt (1 samples, 9.09%)replay`llvm::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (1 samples, 9.09%)replay`regex_..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 9.09%)replay`<core:..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 9.09%)replay`core::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class_reverse_with_suffix (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::patch (1 samples, 9.09%)replay`regex_..replay`core::cell::RefCell<T>::borrow_mut (1 samples, 9.09%)replay`core::..replay`core::cell::RefCell<T>::try_borrow_mut (1 samples, 9.09%)replay`core::..replay`core::ptr::non_null::NonNull<T>::new_unchecked::precondition_check (1 samples, 9.09%)replay`core::..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back (2 samples, 18.18%)replay`<core::iter::adapters..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 18.18%)replay`core::ops::function::..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (2 samples, 18.18%)replay`regex_automata::nfa::..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 18.18%)replay`<core::iter::adapters..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 18.18%)replay`core::ops::function::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (2 samples, 18.18%)replay`regex_automata::nfa::..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back (2 samples, 18.18%)replay`<core::iter::adapters..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 18.18%)replay`core::ops::function::..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_bounded (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (1 samples, 9.09%)replay`regex_..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back (1 samples, 9.09%)replay`<core:..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 9.09%)replay`core::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly::_{{closure}} (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (1 samples, 9.09%)replay`regex_..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 9.09%)replay`<core:..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 9.09%)replay`core::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class_reverse_with_suffix (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::map::Utf8SuffixMap::get (1 samples, 9.09%)replay`regex_..replay`<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index (1 samples, 9.09%)replay`<alloc..replay`<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (1 samples, 9.09%)replay`<alloc..replay`core::slice::raw::from_raw_parts::precondition_check (1 samples, 9.09%)replay`core::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (1 samples, 9.09%)replay`regex_..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 9.09%)replay`<core:..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 9.09%)replay`core::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::add (1 samples, 9.09%)replay`regex_..replay`core::iter::traits::iterator::Iterator::count (1 samples, 9.09%)replay`core::..replay`<core::iter::adapters::take_while::TakeWhile<I,P> as core::iter::traits::iterator::Iterator>::fold (1 samples, 9.09%)replay`<core:..replay`<core::iter::adapters::take_while::TakeWhile<I,P> as core::iter::traits::iterator::Iterator>::try_fold (1 samples, 9.09%)replay`<core:..replay`core::iter::traits::iterator::Iterator::try_fold (1 samples, 9.09%)replay`core::..replay`<core::iter::adapters::take_while::TakeWhile<I,P> as core::iter::traits::iterator::Iterator>::try_fold::check::_{{closure}} (1 samples, 9.09%)replay`<core:..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::add::_{{closure}} (1 samples, 9.09%)replay`regex_..replay`core::option::Option<T>::map_or (1 samples, 9.09%)replay`core::..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::add::_{{closure}}::_{{closure}} (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::add (1 samples, 9.09%)replay`regex_..replay`core::iter::traits::iterator::Iterator::zip (1 samples, 9.09%)replay`core::..replay`<core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::new (1 samples, 9.09%)replay`<core:..replay`regex_automata::meta::regex::Builder::build_many_from_hir (5 samples, 45.45%)replay`regex_automata::meta::regex::Builder::build_many_from_hirreplay`regex_automata::meta::strategy::new (5 samples, 45.45%)replay`regex_automata::meta::strategy::newreplay`regex_automata::meta::strategy::Core::new (5 samples, 45.45%)replay`regex_automata::meta::strategy::Core::newreplay`regex_automata::nfa::thompson::compiler::Compiler::build_many_from_hir (5 samples, 45.45%)replay`regex_automata::nfa::thompson::compiler::Compiler::build_many_from_h..replay`regex_automata::nfa::thompson::compiler::Compiler::compile (5 samples, 45.45%)replay`regex_automata::nfa::thompson::compiler::Compiler::compilereplay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (5 samples, 45.45%)replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iterreplay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (5 samples, 45.45%)replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (5 samples, 45.45%)replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> fo..replay`regex_automata::nfa::thompson::compiler::Compiler::compile::_{{closure}} (5 samples, 45.45%)replay`regex_automata::nfa::thompson::compiler::Compiler::compile::_{{closu..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (5 samples, 45.45%)replay`regex_automata::nfa::thompson::compiler::Compiler::c_capreplay`regex_automata::nfa::thompson::compiler::Compiler::c (5 samples, 45.45%)replay`regex_automata::nfa::thompson::compiler::Compiler::creplay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (5 samples, 45.45%)replay`regex_automata::nfa::thompson::compiler::Compiler::c_concatreplay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (3 samples, 27.27%)replay`<core::iter::adapters::map::Map<I,F> ..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (3 samples, 27.27%)replay`core::ops::function::impls::_<impl co..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (3 samples, 27.27%)replay`<core::iter::adapters::map::Map<I,F> ..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (3 samples, 27.27%)replay`core::ops::function::impls::_<impl co..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (3 samples, 27.27%)replay`<core::iter::adapters::map::Map<I,F> ..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (3 samples, 27.27%)replay`core::ops::function::impls::_<impl co..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c_bounded (3 samples, 27.27%)replay`regex_automata::nfa::thompson::compil..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (2 samples, 18.18%)replay`regex_automata::nfa::..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 18.18%)replay`<core::iter::adapters..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 18.18%)replay`core::ops::function::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly::_{{closure}} (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (2 samples, 18.18%)replay`regex_automata::nfa::..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 18.18%)replay`<core::iter::adapters..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 18.18%)replay`core::ops::function::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (2 samples, 18.18%)replay`regex_automata::nfa::..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::new (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::compiler::Utf8State::clear (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::map::Utf8BoundedMap::clear (1 samples, 9.09%)replay`regex_..replay`alloc::vec::from_elem (1 samples, 9.09%)replay`alloc:..replay`<T as alloc::vec::spec_from_elem::SpecFromElem>::from_elem (1 samples, 9.09%)replay`<T as ..replay`alloc::vec::Vec<T,A>::extend_with (1 samples, 9.09%)replay`alloc:..replay`<once_cell::sync::Lazy<T,F> as core::ops::deref::Deref>::deref (6 samples, 54.55%)replay`<once_cell::sync::Lazy<T,F> as core::ops::deref::Deref>::derefreplay`once_cell::sync::Lazy<T,F>::force (6 samples, 54.55%)replay`once_cell::sync::Lazy<T,F>::forcereplay`once_cell::sync::OnceCell<T>::get_or_init (6 samples, 54.55%)replay`once_cell::sync::OnceCell<T>::get_or_initreplay`once_cell::sync::OnceCell<T>::get_or_try_init (6 samples, 54.55%)replay`once_cell::sync::OnceCell<T>::get_or_try_initreplay`once_cell::imp::OnceCell<T>::initialize (6 samples, 54.55%)replay`once_cell::imp::OnceCell<T>::initializereplay`once_cell::imp::initialize_or_wait (6 samples, 54.55%)replay`once_cell::imp::initialize_or_waitreplay`core::ops::function::impls::_<impl core::ops::function::FnMut<A> for &mut F>::call_mut (6 samples, 54.55%)replay`core::ops::function::impls::_<impl core::ops::function::FnMut<A> for &mut F>::call_..replay`once_cell::imp::OnceCell<T>::initialize::_{{closure}} (6 samples, 54.55%)replay`once_cell::imp::OnceCell<T>::initialize::_{{closure}}replay`once_cell::sync::OnceCell<T>::get_or_init::_{{closure}} (6 samples, 54.55%)replay`once_cell::sync::OnceCell<T>::get_or_init::_{{closure}}replay`once_cell::sync::Lazy<T,F>::force::_{{closure}} (6 samples, 54.55%)replay`once_cell::sync::Lazy<T,F>::force::_{{closure}}replay`core::ops::function::FnOnce::call_once (6 samples, 54.55%)replay`core::ops::function::FnOnce::call_oncereplay`core::ops::function::FnOnce::call_once (6 samples, 54.55%)replay`core::ops::function::FnOnce::call_oncereplay`tracing_subscriber::filter::env::directive::Directive::parse::DIRECTIVE_RE::_{{closure}} (6 samples, 54.55%)replay`tracing_subscriber::filter::env::directive::Directive::parse::DIRECTIVE_RE::_{{clos..replay`regex::regex::string::Regex::new (6 samples, 54.55%)replay`regex::regex::string::Regex::newreplay`regex::builders::string::RegexBuilder::build (6 samples, 54.55%)replay`regex::builders::string::RegexBuilder::buildreplay`regex::builders::Builder::build_one_string (6 samples, 54.55%)replay`regex::builders::Builder::build_one_stringreplay`regex_automata::meta::regex::Builder::build (6 samples, 54.55%)replay`regex_automata::meta::regex::Builder::buildreplay`regex_automata::meta::regex::Builder::build_many (6 samples, 54.55%)replay`regex_automata::meta::regex::Builder::build_manyreplay`regex_syntax::ast::parse::Parser::parse (1 samples, 9.09%)replay`regex_..replay`regex_syntax::ast::parse::ParserI<P>::parse (1 samples, 9.09%)replay`regex_..replay`regex_syntax::ast::parse::ParserI<P>::parse_with_comments (1 samples, 9.09%)replay`regex_..replay`regex_syntax::ast::parse::ParserI<P>::parse_primitive (1 samples, 9.09%)replay`regex_..replay`regex_syntax::ast::parse::ParserI<P>::bump (1 samples, 9.09%)replay`regex_..replay`regex_syntax::ast::parse::ParserI<P>::offset (1 samples, 9.09%)replay`regex_..replay`regex_syntax::ast::parse::ParserI<P>::parser (1 samples, 9.09%)replay`regex_..dyld`start (10 samples, 90.91%)dyld`startreplay`main (10 samples, 90.91%)replay`mainreplay`std::rt::lang_start (10 samples, 90.91%)replay`std::rt::lang_startreplay`std::rt::lang_start_internal (10 samples, 90.91%)replay`std::rt::lang_start_internalreplay`std::rt::lang_start::_{{closure}} (9 samples, 81.82%)replay`std::rt::lang_start::_{{closure}}replay`std::sys_common::backtrace::__rust_begin_short_backtrace (9 samples, 81.82%)replay`std::sys_common::backtrace::__rust_begin_short_backtracereplay`core::ops::function::FnOnce::call_once (9 samples, 81.82%)replay`core::ops::function::FnOnce::call_oncereplay`replay::main (9 samples, 81.82%)replay`replay::mainreplay`replay::set_global_subscriber (7 samples, 63.64%)replay`replay::set_global_subscriberreplay`<tracing_subscriber::filter::env::directive::Directive as core::str::traits::FromStr>::from_str (7 samples, 63.64%)replay`<tracing_subscriber::filter::env::directive::Directive as core::str::traits::FromStr>::from_strreplay`tracing_subscriber::filter::env::directive::Directive::parse (7 samples, 63.64%)replay`tracing_subscriber::filter::env::directive::Directive::parsereplay`regex::regex::string::Regex::captures (1 samples, 9.09%)replay`regex:..replay`regex::regex::string::Regex::captures_at (1 samples, 9.09%)replay`regex:..replay`regex_automata::meta::regex::Regex::search_captures (1 samples, 9.09%)replay`regex_..replay`regex_automata::meta::regex::Regex::search_slots (1 samples, 9.09%)replay`regex_..replay`regex_automata::util::pool::Pool<T,F>::get (1 samples, 9.09%)replay`regex_..replay`regex_automata::util::pool::inner::Pool<T,F>::get (1 samples, 9.09%)replay`regex_..replay`regex_automata::util::pool::inner::Pool<T,F>::get_slow (1 samples, 9.09%)replay`regex_..replay`<alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call (1 samples, 9.09%)replay`<alloc..replay`regex_automata::meta::regex::Builder::build_many_from_hir::_{{closure}} (1 samples, 9.09%)replay`regex_..replay`<regex_automata::meta::strategy::Core as regex_automata::meta::strategy::Strategy>::create_cache (1 samples, 9.09%)replay`<regex..replay`regex_automata::meta::wrappers::PikeVM::create_cache (1 samples, 9.09%)replay`regex_..replay`regex_automata::meta::wrappers::PikeVMCache::new (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::pikevm::PikeVM::create_cache (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::pikevm::Cache::new (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::pikevm::ActiveStates::new (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::pikevm::ActiveStates::reset (1 samples, 9.09%)replay`regex_..replay`regex_automata::nfa::thompson::pikevm::SlotTable::reset (1 samples, 9.09%)replay`regex_..replay`alloc::vec::Vec<T,A>::resize (1 samples, 9.09%)replay`alloc:..replay`alloc::vec::Vec<T,A>::extend_with (1 samples, 9.09%)replay`alloc:..all (11 samples, 100%)libsystem_kernel.dylib`__exit (1 samples, 9.09%)libsystem_ker.. \ No newline at end of file +]]>Flame Graph Reset ZoomSearch libdyld.dylib`dyld4::LibSystemHelpers::getenv (1 samples, 10.00%)libdyld.dylib`..libsystem_c.dylib`exit (1 samples, 10.00%)libsystem_c.dy..libsystem_c.dylib`__cxa_finalize_ranges (1 samples, 10.00%)libsystem_c.dy..replay`std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, unsigned int>, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, unsigned int>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, unsigned int>>>::destroy(std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator (1 samples, 10.00%)replay`std::__..replay`clap_builder::derive::Parser::parse (1 samples, 10.00%)replay`clap_bu..replay`<replay::ReplayCLI as clap_builder::derive::CommandFactory>::command (1 samples, 10.00%)replay`<replay..replay`<replay::ReplayCLI as clap_builder::derive::Args>::augment_args (1 samples, 10.00%)replay`<replay..replay`clap_builder::builder::command::Command::group (1 samples, 10.00%)replay`clap_bu..replay`alloc::vec::Vec<T,A>::push (1 samples, 10.00%)replay`alloc::..replay`alloc::raw_vec::RawVec<T,A>::reserve_for_push (1 samples, 10.00%)replay`alloc::..replay`core::alloc::layout::Layout::array::inner (1 samples, 10.00%)replay`core::a..replay`replay::build_cached_state (1 samples, 10.00%)replay`replay:..replay`core::result::Result<T,E>::expect (1 samples, 10.00%)replay`core::r..replay`core::slice::index::slice_start_index_len_fail (1 samples, 10.00%)replay`core::s..replay`core::panicking::panic_nounwind_fmt (1 samples, 10.00%)replay`core::p..replay`<std::panicking::begin_panic_handler::FormatStringPayload as core::panic::PanicPayload>::take_box (1 samples, 10.00%)replay`<std::p..replay`std::sys_common::backtrace::output_filename (1 samples, 10.00%)replay`std::sy..replay`std::panicking::begin_panic_handler::_{{closure}} (1 samples, 10.00%)replay`std::pa..replay`std::panicking::rust_panic_with_hook (1 samples, 10.00%)replay`std::pa..replay`rust_panic (1 samples, 10.00%)replay`rust_pa..libunwind.1.0.dylib`_Unwind_RaiseException (1 samples, 10.00%)libunwind.1.0...libunwind.1.0.dylib`libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_arm64>::step (1 samples, 10.00%)libunwind.1.0...libunwind.1.0.dylib`libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_arm64>::setInfoBasedOnIPRegister (1 samples, 10.00%)libunwind.1.0...libunwind.1.0.dylib`libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_arm64>::getInfoFromCompactEncodingSection (1 samples, 10.00%)libunwind.1.0...replay`core::iter::traits::iterator::Iterator::collect (1 samples, 10.00%)replay`core::i..replay`<alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter (1 samples, 10.00%)replay`<alloc:..replay`<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (1 samples, 10.00%)replay`<alloc:..replay`<alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter (1 samples, 10.00%)replay`<alloc:..replay`<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (1 samples, 10.00%)replay`<alloc:..replay`alloc::vec::Vec<T,A>::extend_trusted (1 samples, 10.00%)replay`alloc::..replay`core::iter::traits::iterator::Iterator::for_each (1 samples, 10.00%)replay`core::i..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (1 samples, 10.00%)replay`<core::..replay`<core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::fold (1 samples, 10.00%)replay`<core::..replay`core::iter::traits::iterator::Iterator::for_each::call::_{{closure}} (1 samples, 10.00%)replay`core::i..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (1 samples, 10.00%)replay`regex_a..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 10.00%)replay`<core::..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 10.00%)replay`core::o..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class_reverse_with_suffix (1 samples, 10.00%)replay`regex_a..replay`<core::cell::RefMut<T> as core::ops::deref::DerefMut>::deref_mut (1 samples, 10.00%)replay`<core::..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back (2 samples, 20.00%)replay`<core::iter::adapters::m..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 20.00%)replay`core::ops::function::imp..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 20.00%)replay`<core::iter::adapters::m..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 20.00%)replay`core::ops::function::imp..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back (2 samples, 20.00%)replay`<core::iter::adapters::m..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 20.00%)replay`core::ops::function::imp..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_bounded (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (1 samples, 10.00%)replay`regex_a..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back (1 samples, 10.00%)replay`<core::..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 10.00%)replay`core::o..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly::_{{closure}} (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (1 samples, 10.00%)replay`regex_a..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 10.00%)replay`<core::..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 10.00%)replay`core::o..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class_reverse_with_suffix (1 samples, 10.00%)replay`regex_a..replay`regex_syntax::utf8::Utf8Sequences::new (1 samples, 10.00%)replay`regex_s..replay`alloc::alloc::exchange_malloc (1 samples, 10.00%)replay`alloc::..replay`alloc::alloc::Global::alloc_impl (1 samples, 10.00%)replay`alloc::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (1 samples, 10.00%)replay`regex_a..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 10.00%)replay`<core::..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 10.00%)replay`core::o..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::add (1 samples, 10.00%)replay`regex_a..replay`core::iter::traits::iterator::Iterator::count (1 samples, 10.00%)replay`core::i..replay`<core::iter::adapters::take_while::TakeWhile<I,P> as core::iter::traits::iterator::Iterator>::fold (1 samples, 10.00%)replay`<core::..replay`<core::iter::adapters::take_while::TakeWhile<I,P> as core::iter::traits::iterator::Iterator>::try_fold (1 samples, 10.00%)replay`<core::..replay`core::iter::traits::iterator::Iterator::try_fold (1 samples, 10.00%)replay`core::i..replay`<core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::next (1 samples, 10.00%)replay`<core::..replay`<core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::next (1 samples, 10.00%)replay`<core::..replay`regex_automata::meta::regex::Builder::build_many_from_hir (5 samples, 50.00%)replay`regex_automata::meta::regex::Builder::build_many_from_hirreplay`regex_automata::meta::strategy::new (4 samples, 40.00%)replay`regex_automata::meta::strategy::newreplay`regex_automata::meta::strategy::Core::new (4 samples, 40.00%)replay`regex_automata::meta::strategy::Core::newreplay`regex_automata::nfa::thompson::compiler::Compiler::build_many_from_hir (4 samples, 40.00%)replay`regex_automata::nfa::thompson::compiler::Compiler::build_m..replay`regex_automata::nfa::thompson::compiler::Compiler::compile (4 samples, 40.00%)replay`regex_automata::nfa::thompson::compiler::Compiler::compilereplay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (4 samples, 40.00%)replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_i..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (4 samples, 40.00%)replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (4 samples, 40.00%)replay`core::ops::function::impls::_<impl core::ops::function::Fn..replay`regex_automata::nfa::thompson::compiler::Compiler::compile::_{{closure}} (4 samples, 40.00%)replay`regex_automata::nfa::thompson::compiler::Compiler::compile..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (4 samples, 40.00%)replay`regex_automata::nfa::thompson::compiler::Compiler::c_capreplay`regex_automata::nfa::thompson::compiler::Compiler::c (4 samples, 40.00%)replay`regex_automata::nfa::thompson::compiler::Compiler::creplay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (4 samples, 40.00%)replay`regex_automata::nfa::thompson::compiler::Compiler::c_concatreplay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 20.00%)replay`<core::iter::adapters::m..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 20.00%)replay`core::ops::function::imp..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 20.00%)replay`<core::iter::adapters::m..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 20.00%)replay`core::ops::function::imp..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 20.00%)replay`<core::iter::adapters::m..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 20.00%)replay`core::ops::function::imp..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_bounded (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (1 samples, 10.00%)replay`regex_a..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 10.00%)replay`<core::..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 10.00%)replay`core::o..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly::_{{closure}} (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (1 samples, 10.00%)replay`regex_a..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 10.00%)replay`<core::..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 10.00%)replay`core::o..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::add (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::compile_from (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::compile (1 samples, 10.00%)replay`regex_a..replay`<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (1 samples, 10.00%)replay`<alloc:..replay`core::slice::raw::from_raw_parts::precondition_check (1 samples, 10.00%)replay`core::s..replay`core::intrinsics::is_aligned_and_not_null (1 samples, 10.00%)replay`core::i..replay`<once_cell::sync::Lazy<T,F> as core::ops::deref::Deref>::deref (6 samples, 60.00%)replay`<once_cell::sync::Lazy<T,F> as core::ops::deref::Deref>::derefreplay`once_cell::sync::Lazy<T,F>::force (6 samples, 60.00%)replay`once_cell::sync::Lazy<T,F>::forcereplay`once_cell::sync::OnceCell<T>::get_or_init (6 samples, 60.00%)replay`once_cell::sync::OnceCell<T>::get_or_initreplay`once_cell::sync::OnceCell<T>::get_or_try_init (6 samples, 60.00%)replay`once_cell::sync::OnceCell<T>::get_or_try_initreplay`once_cell::imp::OnceCell<T>::initialize (6 samples, 60.00%)replay`once_cell::imp::OnceCell<T>::initializereplay`once_cell::imp::initialize_or_wait (6 samples, 60.00%)replay`once_cell::imp::initialize_or_waitreplay`core::ops::function::impls::_<impl core::ops::function::FnMut<A> for &mut F>::call_mut (6 samples, 60.00%)replay`core::ops::function::impls::_<impl core::ops::function::FnMut<A> for &mut F>::call_mutreplay`once_cell::imp::OnceCell<T>::initialize::_{{closure}} (6 samples, 60.00%)replay`once_cell::imp::OnceCell<T>::initialize::_{{closure}}replay`once_cell::sync::OnceCell<T>::get_or_init::_{{closure}} (6 samples, 60.00%)replay`once_cell::sync::OnceCell<T>::get_or_init::_{{closure}}replay`once_cell::sync::Lazy<T,F>::force::_{{closure}} (6 samples, 60.00%)replay`once_cell::sync::Lazy<T,F>::force::_{{closure}}replay`core::ops::function::FnOnce::call_once (6 samples, 60.00%)replay`core::ops::function::FnOnce::call_oncereplay`core::ops::function::FnOnce::call_once (6 samples, 60.00%)replay`core::ops::function::FnOnce::call_oncereplay`tracing_subscriber::filter::env::directive::Directive::parse::DIRECTIVE_RE::_{{closure}} (6 samples, 60.00%)replay`tracing_subscriber::filter::env::directive::Directive::parse::DIRECTIVE_RE::_{{closure}}replay`regex::regex::string::Regex::new (6 samples, 60.00%)replay`regex::regex::string::Regex::newreplay`regex::builders::string::RegexBuilder::build (6 samples, 60.00%)replay`regex::builders::string::RegexBuilder::buildreplay`regex::builders::Builder::build_one_string (6 samples, 60.00%)replay`regex::builders::Builder::build_one_stringreplay`regex_automata::meta::regex::Builder::build (6 samples, 60.00%)replay`regex_automata::meta::regex::Builder::buildreplay`regex_automata::meta::regex::Builder::build_many (6 samples, 60.00%)replay`regex_automata::meta::regex::Builder::build_manyreplay`regex_syntax::ast::parse::Parser::parse (1 samples, 10.00%)replay`regex_s..replay`regex_syntax::ast::parse::ParserI<P>::parse (1 samples, 10.00%)replay`regex_s..replay`regex_syntax::ast::parse::ParserI<P>::parse_with_comments (1 samples, 10.00%)replay`regex_s..replay`regex_syntax::ast::parse::ParserI<P>::bump_space (1 samples, 10.00%)replay`regex_s..replay`regex_syntax::ast::parse::ParserI<P>::bump (1 samples, 10.00%)replay`regex_s..replay`regex_syntax::ast::parse::ParserI<P>::char (1 samples, 10.00%)replay`regex_s..replay`core::cell::Cell<T>::get (1 samples, 10.00%)replay`core::c..all (10 samples, 100%)dyld`start (10 samples, 100.00%)dyld`startreplay`main (9 samples, 90.00%)replay`mainreplay`std::rt::lang_start (9 samples, 90.00%)replay`std::rt::lang_startreplay`std::rt::lang_start_internal (9 samples, 90.00%)replay`std::rt::lang_start_internalreplay`std::rt::lang_start::_{{closure}} (9 samples, 90.00%)replay`std::rt::lang_start::_{{closure}}replay`std::sys_common::backtrace::__rust_begin_short_backtrace (9 samples, 90.00%)replay`std::sys_common::backtrace::__rust_begin_short_backtracereplay`core::ops::function::FnOnce::call_once (9 samples, 90.00%)replay`core::ops::function::FnOnce::call_oncereplay`replay::main (9 samples, 90.00%)replay`replay::mainreplay`replay::set_global_subscriber (7 samples, 70.00%)replay`replay::set_global_subscriberreplay`<tracing_subscriber::filter::env::directive::Directive as core::str::traits::FromStr>::from_str (7 samples, 70.00%)replay`<tracing_subscriber::filter::env::directive::Directive as core::str::traits::FromStr>::from_strreplay`tracing_subscriber::filter::env::directive::Directive::parse (7 samples, 70.00%)replay`tracing_subscriber::filter::env::directive::Directive::parsereplay`regex::regex::string::Regex::captures (1 samples, 10.00%)replay`regex::..replay`regex::regex::string::Regex::captures_at (1 samples, 10.00%)replay`regex::..replay`regex_automata::meta::regex::Regex::search_captures (1 samples, 10.00%)replay`regex_a..replay`regex_automata::meta::regex::Regex::search_slots (1 samples, 10.00%)replay`regex_a..replay`regex_automata::util::pool::inner::Pool<T,F>::get (1 samples, 10.00%)replay`regex_a.. \ No newline at end of file From b782135cbff9e6e882c3659a527a34a72f262abd Mon Sep 17 00:00:00 2001 From: FrancoGiachetta Date: Mon, 8 Jul 2024 15:34:39 -0300 Subject: [PATCH 6/8] update readme --- docs/benchmarks/flamegraph.svg | 491 --------------------------------- 1 file changed, 491 deletions(-) delete mode 100644 docs/benchmarks/flamegraph.svg diff --git a/docs/benchmarks/flamegraph.svg b/docs/benchmarks/flamegraph.svg deleted file mode 100644 index 4fa973d..0000000 --- a/docs/benchmarks/flamegraph.svg +++ /dev/null @@ -1,491 +0,0 @@ -Flame Graph Reset ZoomSearch libdyld.dylib`dyld4::LibSystemHelpers::getenv (1 samples, 10.00%)libdyld.dylib`..libsystem_c.dylib`exit (1 samples, 10.00%)libsystem_c.dy..libsystem_c.dylib`__cxa_finalize_ranges (1 samples, 10.00%)libsystem_c.dy..replay`std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, unsigned int>, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, unsigned int>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, unsigned int>>>::destroy(std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator (1 samples, 10.00%)replay`std::__..replay`clap_builder::derive::Parser::parse (1 samples, 10.00%)replay`clap_bu..replay`<replay::ReplayCLI as clap_builder::derive::CommandFactory>::command (1 samples, 10.00%)replay`<replay..replay`<replay::ReplayCLI as clap_builder::derive::Args>::augment_args (1 samples, 10.00%)replay`<replay..replay`clap_builder::builder::command::Command::group (1 samples, 10.00%)replay`clap_bu..replay`alloc::vec::Vec<T,A>::push (1 samples, 10.00%)replay`alloc::..replay`alloc::raw_vec::RawVec<T,A>::reserve_for_push (1 samples, 10.00%)replay`alloc::..replay`core::alloc::layout::Layout::array::inner (1 samples, 10.00%)replay`core::a..replay`replay::build_cached_state (1 samples, 10.00%)replay`replay:..replay`core::result::Result<T,E>::expect (1 samples, 10.00%)replay`core::r..replay`core::slice::index::slice_start_index_len_fail (1 samples, 10.00%)replay`core::s..replay`core::panicking::panic_nounwind_fmt (1 samples, 10.00%)replay`core::p..replay`<std::panicking::begin_panic_handler::FormatStringPayload as core::panic::PanicPayload>::take_box (1 samples, 10.00%)replay`<std::p..replay`std::sys_common::backtrace::output_filename (1 samples, 10.00%)replay`std::sy..replay`std::panicking::begin_panic_handler::_{{closure}} (1 samples, 10.00%)replay`std::pa..replay`std::panicking::rust_panic_with_hook (1 samples, 10.00%)replay`std::pa..replay`rust_panic (1 samples, 10.00%)replay`rust_pa..libunwind.1.0.dylib`_Unwind_RaiseException (1 samples, 10.00%)libunwind.1.0...libunwind.1.0.dylib`libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_arm64>::step (1 samples, 10.00%)libunwind.1.0...libunwind.1.0.dylib`libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_arm64>::setInfoBasedOnIPRegister (1 samples, 10.00%)libunwind.1.0...libunwind.1.0.dylib`libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_arm64>::getInfoFromCompactEncodingSection (1 samples, 10.00%)libunwind.1.0...replay`core::iter::traits::iterator::Iterator::collect (1 samples, 10.00%)replay`core::i..replay`<alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter (1 samples, 10.00%)replay`<alloc:..replay`<alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter (1 samples, 10.00%)replay`<alloc:..replay`<alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter (1 samples, 10.00%)replay`<alloc:..replay`<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend (1 samples, 10.00%)replay`<alloc:..replay`alloc::vec::Vec<T,A>::extend_trusted (1 samples, 10.00%)replay`alloc::..replay`core::iter::traits::iterator::Iterator::for_each (1 samples, 10.00%)replay`core::i..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (1 samples, 10.00%)replay`<core::..replay`<core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::fold (1 samples, 10.00%)replay`<core::..replay`core::iter::traits::iterator::Iterator::for_each::call::_{{closure}} (1 samples, 10.00%)replay`core::i..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (1 samples, 10.00%)replay`regex_a..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 10.00%)replay`<core::..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 10.00%)replay`core::o..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class_reverse_with_suffix (1 samples, 10.00%)replay`regex_a..replay`<core::cell::RefMut<T> as core::ops::deref::DerefMut>::deref_mut (1 samples, 10.00%)replay`<core::..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back (2 samples, 20.00%)replay`<core::iter::adapters::m..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 20.00%)replay`core::ops::function::imp..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 20.00%)replay`<core::iter::adapters::m..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 20.00%)replay`core::ops::function::imp..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back (2 samples, 20.00%)replay`<core::iter::adapters::m..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 20.00%)replay`core::ops::function::imp..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_bounded (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (1 samples, 10.00%)replay`regex_a..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::double_ended::DoubleEndedIterator>::next_back (1 samples, 10.00%)replay`<core::..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 10.00%)replay`core::o..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly::_{{closure}} (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (1 samples, 10.00%)replay`regex_a..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 10.00%)replay`<core::..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 10.00%)replay`core::o..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class_reverse_with_suffix (1 samples, 10.00%)replay`regex_a..replay`regex_syntax::utf8::Utf8Sequences::new (1 samples, 10.00%)replay`regex_s..replay`alloc::alloc::exchange_malloc (1 samples, 10.00%)replay`alloc::..replay`alloc::alloc::Global::alloc_impl (1 samples, 10.00%)replay`alloc::..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (1 samples, 10.00%)replay`regex_a..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 10.00%)replay`<core::..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 10.00%)replay`core::o..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::add (1 samples, 10.00%)replay`regex_a..replay`core::iter::traits::iterator::Iterator::count (1 samples, 10.00%)replay`core::i..replay`<core::iter::adapters::take_while::TakeWhile<I,P> as core::iter::traits::iterator::Iterator>::fold (1 samples, 10.00%)replay`<core::..replay`<core::iter::adapters::take_while::TakeWhile<I,P> as core::iter::traits::iterator::Iterator>::try_fold (1 samples, 10.00%)replay`<core::..replay`core::iter::traits::iterator::Iterator::try_fold (1 samples, 10.00%)replay`core::i..replay`<core::iter::adapters::zip::Zip<A,B> as core::iter::traits::iterator::Iterator>::next (1 samples, 10.00%)replay`<core::..replay`<core::iter::adapters::zip::Zip<A,B> as core::iter::adapters::zip::ZipImpl<A,B>>::next (1 samples, 10.00%)replay`<core::..replay`regex_automata::meta::regex::Builder::build_many_from_hir (5 samples, 50.00%)replay`regex_automata::meta::regex::Builder::build_many_from_hirreplay`regex_automata::meta::strategy::new (4 samples, 40.00%)replay`regex_automata::meta::strategy::newreplay`regex_automata::meta::strategy::Core::new (4 samples, 40.00%)replay`regex_automata::meta::strategy::Core::newreplay`regex_automata::nfa::thompson::compiler::Compiler::build_many_from_hir (4 samples, 40.00%)replay`regex_automata::nfa::thompson::compiler::Compiler::build_m..replay`regex_automata::nfa::thompson::compiler::Compiler::compile (4 samples, 40.00%)replay`regex_automata::nfa::thompson::compiler::Compiler::compilereplay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (4 samples, 40.00%)replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_i..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (4 samples, 40.00%)replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (4 samples, 40.00%)replay`core::ops::function::impls::_<impl core::ops::function::Fn..replay`regex_automata::nfa::thompson::compiler::Compiler::compile::_{{closure}} (4 samples, 40.00%)replay`regex_automata::nfa::thompson::compiler::Compiler::compile..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (4 samples, 40.00%)replay`regex_automata::nfa::thompson::compiler::Compiler::c_capreplay`regex_automata::nfa::thompson::compiler::Compiler::c (4 samples, 40.00%)replay`regex_automata::nfa::thompson::compiler::Compiler::creplay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (4 samples, 40.00%)replay`regex_automata::nfa::thompson::compiler::Compiler::c_concatreplay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 20.00%)replay`<core::iter::adapters::m..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 20.00%)replay`core::ops::function::imp..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 20.00%)replay`<core::iter::adapters::m..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 20.00%)replay`core::ops::function::imp..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 20.00%)replay`<core::iter::adapters::m..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (2 samples, 20.00%)replay`core::ops::function::imp..replay`regex_automata::nfa::thompson::compiler::Compiler::c::_{{closure}} (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_bounded (2 samples, 20.00%)replay`regex_automata::nfa::tho..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_concat (1 samples, 10.00%)replay`regex_a..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 10.00%)replay`<core::..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 10.00%)replay`core::o..replay`regex_automata::nfa::thompson::compiler::Compiler::c_exactly::_{{closure}} (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_iter (1 samples, 10.00%)replay`regex_a..replay`<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 10.00%)replay`<core::..replay`core::ops::function::impls::_<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 10.00%)replay`core::o..replay`regex_automata::nfa::thompson::compiler::Compiler::c_alt_slice::_{{closure}} (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_cap (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_repetition (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_at_least (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Compiler::c_unicode_class (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::add (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::compile_from (1 samples, 10.00%)replay`regex_a..replay`regex_automata::nfa::thompson::compiler::Utf8Compiler::compile (1 samples, 10.00%)replay`regex_a..replay`<alloc::vec::Vec<T,A> as core::ops::deref::Deref>::deref (1 samples, 10.00%)replay`<alloc:..replay`core::slice::raw::from_raw_parts::precondition_check (1 samples, 10.00%)replay`core::s..replay`core::intrinsics::is_aligned_and_not_null (1 samples, 10.00%)replay`core::i..replay`<once_cell::sync::Lazy<T,F> as core::ops::deref::Deref>::deref (6 samples, 60.00%)replay`<once_cell::sync::Lazy<T,F> as core::ops::deref::Deref>::derefreplay`once_cell::sync::Lazy<T,F>::force (6 samples, 60.00%)replay`once_cell::sync::Lazy<T,F>::forcereplay`once_cell::sync::OnceCell<T>::get_or_init (6 samples, 60.00%)replay`once_cell::sync::OnceCell<T>::get_or_initreplay`once_cell::sync::OnceCell<T>::get_or_try_init (6 samples, 60.00%)replay`once_cell::sync::OnceCell<T>::get_or_try_initreplay`once_cell::imp::OnceCell<T>::initialize (6 samples, 60.00%)replay`once_cell::imp::OnceCell<T>::initializereplay`once_cell::imp::initialize_or_wait (6 samples, 60.00%)replay`once_cell::imp::initialize_or_waitreplay`core::ops::function::impls::_<impl core::ops::function::FnMut<A> for &mut F>::call_mut (6 samples, 60.00%)replay`core::ops::function::impls::_<impl core::ops::function::FnMut<A> for &mut F>::call_mutreplay`once_cell::imp::OnceCell<T>::initialize::_{{closure}} (6 samples, 60.00%)replay`once_cell::imp::OnceCell<T>::initialize::_{{closure}}replay`once_cell::sync::OnceCell<T>::get_or_init::_{{closure}} (6 samples, 60.00%)replay`once_cell::sync::OnceCell<T>::get_or_init::_{{closure}}replay`once_cell::sync::Lazy<T,F>::force::_{{closure}} (6 samples, 60.00%)replay`once_cell::sync::Lazy<T,F>::force::_{{closure}}replay`core::ops::function::FnOnce::call_once (6 samples, 60.00%)replay`core::ops::function::FnOnce::call_oncereplay`core::ops::function::FnOnce::call_once (6 samples, 60.00%)replay`core::ops::function::FnOnce::call_oncereplay`tracing_subscriber::filter::env::directive::Directive::parse::DIRECTIVE_RE::_{{closure}} (6 samples, 60.00%)replay`tracing_subscriber::filter::env::directive::Directive::parse::DIRECTIVE_RE::_{{closure}}replay`regex::regex::string::Regex::new (6 samples, 60.00%)replay`regex::regex::string::Regex::newreplay`regex::builders::string::RegexBuilder::build (6 samples, 60.00%)replay`regex::builders::string::RegexBuilder::buildreplay`regex::builders::Builder::build_one_string (6 samples, 60.00%)replay`regex::builders::Builder::build_one_stringreplay`regex_automata::meta::regex::Builder::build (6 samples, 60.00%)replay`regex_automata::meta::regex::Builder::buildreplay`regex_automata::meta::regex::Builder::build_many (6 samples, 60.00%)replay`regex_automata::meta::regex::Builder::build_manyreplay`regex_syntax::ast::parse::Parser::parse (1 samples, 10.00%)replay`regex_s..replay`regex_syntax::ast::parse::ParserI<P>::parse (1 samples, 10.00%)replay`regex_s..replay`regex_syntax::ast::parse::ParserI<P>::parse_with_comments (1 samples, 10.00%)replay`regex_s..replay`regex_syntax::ast::parse::ParserI<P>::bump_space (1 samples, 10.00%)replay`regex_s..replay`regex_syntax::ast::parse::ParserI<P>::bump (1 samples, 10.00%)replay`regex_s..replay`regex_syntax::ast::parse::ParserI<P>::char (1 samples, 10.00%)replay`regex_s..replay`core::cell::Cell<T>::get (1 samples, 10.00%)replay`core::c..all (10 samples, 100%)dyld`start (10 samples, 100.00%)dyld`startreplay`main (9 samples, 90.00%)replay`mainreplay`std::rt::lang_start (9 samples, 90.00%)replay`std::rt::lang_startreplay`std::rt::lang_start_internal (9 samples, 90.00%)replay`std::rt::lang_start_internalreplay`std::rt::lang_start::_{{closure}} (9 samples, 90.00%)replay`std::rt::lang_start::_{{closure}}replay`std::sys_common::backtrace::__rust_begin_short_backtrace (9 samples, 90.00%)replay`std::sys_common::backtrace::__rust_begin_short_backtracereplay`core::ops::function::FnOnce::call_once (9 samples, 90.00%)replay`core::ops::function::FnOnce::call_oncereplay`replay::main (9 samples, 90.00%)replay`replay::mainreplay`replay::set_global_subscriber (7 samples, 70.00%)replay`replay::set_global_subscriberreplay`<tracing_subscriber::filter::env::directive::Directive as core::str::traits::FromStr>::from_str (7 samples, 70.00%)replay`<tracing_subscriber::filter::env::directive::Directive as core::str::traits::FromStr>::from_strreplay`tracing_subscriber::filter::env::directive::Directive::parse (7 samples, 70.00%)replay`tracing_subscriber::filter::env::directive::Directive::parsereplay`regex::regex::string::Regex::captures (1 samples, 10.00%)replay`regex::..replay`regex::regex::string::Regex::captures_at (1 samples, 10.00%)replay`regex::..replay`regex_automata::meta::regex::Regex::search_captures (1 samples, 10.00%)replay`regex_a..replay`regex_automata::meta::regex::Regex::search_slots (1 samples, 10.00%)replay`regex_a..replay`regex_automata::util::pool::inner::Pool<T,F>::get (1 samples, 10.00%)replay`regex_a.. \ No newline at end of file From c2e5e42bbb5b802fd4e4c4f3917f1467747eec20 Mon Sep 17 00:00:00 2001 From: FrancoGiachetta Date: Mon, 8 Jul 2024 15:35:50 -0300 Subject: [PATCH 7/8] update readme --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index c11c271..fe79e7c 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,11 @@ In order to create a flamegraph you first need to install [cargo-flamegraph](htt cargo install flamegraph ``` +To produce a flamegraph of a transaction execution run: +```bash +cargo flamegraph --root --dev -- tx +``` + #### Example Producing a flamegraph of a tx execution would look like this: From b963d5ff41d1384d54d994c25225431e9f46c6de Mon Sep 17 00:00:00 2001 From: FrancoGiachetta Date: Mon, 8 Jul 2024 15:40:01 -0300 Subject: [PATCH 8/8] update readme --- README.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/README.md b/README.md index fe79e7c..4b86e55 100644 --- a/README.md +++ b/README.md @@ -53,12 +53,5 @@ cargo install flamegraph To produce a flamegraph of a transaction execution run: ```bash -cargo flamegraph --root --dev -- tx -``` - -#### Example - -Producing a flamegraph of a tx execution would look like this: -```bash cargo flamegraph --root --dev -- tx 0x1b84bb4760a05c88ceab90a4fb9f37e2f518c822a655abe46361a61a88200fa mainnet 656535 ```