Lines Copies Function name ----- ------ ------------- 9774 (100%) 387 (100%) (TOTAL) 489 (5.0%) 3 (0.8%) alloc::raw_vec::RawVec::grow_amortized 435 (4.5%) 3 (0.8%) alloc::raw_vec::RawVec::allocate_in 285 (2.9%) 4 (1.0%) core::iter::traits::iterator::Iterator::fold 283 (2.9%) 3 (0.8%) as alloc::vec::spec_extend::SpecExtend>::spec_extend 261 (2.7%) 1 (0.3%) core::char::methods::encode_utf8_raw 216 (2.2%) 3 (0.8%) alloc::raw_vec::RawVec::current_memory 208 (2.1%) 2 (0.5%) alloc::vec::Vec::extend_with 203 (2.1%) 4 (1.0%) as core::iter::traits::iterator::Iterator>::fold 203 (2.1%) 4 (1.0%) core::iter::adapters::map::map_fold::{{closure}} 168 (1.7%) 3 (0.8%) core::alloc::layout::Layout::array 156 (1.6%) 4 (1.0%) core::iter::traits::iterator::Iterator::for_each 126 (1.3%) 2 (0.5%) ::from_elem 121 (1.2%) 1 (0.3%) core::str::validations::next_code_point_reverse 119 (1.2%) 3 (0.8%) as core::ops::index::Index>::index 111 (1.1%) 3 (0.8%) as core::ops::drop::Drop>::drop 106 (1.1%) 2 (0.5%) core::slice::iter::Iter::post_inc_start 99 (1.0%) 3 (0.8%) alloc::raw_vec::RawVec::new_in 97 (1.0%) 1 (0.3%) alloc::alloc::Global::alloc_impl 95 (1.0%) 2 (0.5%) core::slice::iter::Iter::new 91 (0.9%) 2 (0.5%) core::option::Option::map 91 (0.9%) 1 (0.3%) as core::str::pattern::ReverseSearcher>::next_back 89 (0.9%) 2 (0.5%) as core::iter::traits::iterator::Iterator>::next 87 (0.9%) 3 (0.8%) core::ptr::metadata::from_raw_parts_mut 84 (0.9%) 1 (0.3%) ascii_canvas::row::Row::new 83 (0.8%) 1 (0.3%) as core::iter::traits::iterator::Iterator>::next 81 (0.8%) 1 (0.3%) ::draw_horizontal_line 81 (0.8%) 1 (0.3%) ::draw_vertical_line 80 (0.8%) 4 (1.0%) core::iter::adapters::map::Map::new 77 (0.8%) 3 (0.8%) as alloc::vec::spec_extend::SpecExtend>::spec_extend::{{closure}} 77 (0.8%) 1 (0.3%) core::ptr::drop_in_place<[ascii_canvas::row::Row]> 74 (0.8%) 1 (0.3%) ascii_canvas::AsciiCanvas::to_strings::{{closure}} 71 (0.7%) 4 (1.0%) core::iter::traits::iterator::Iterator::for_each::call::{{closure}} 71 (0.7%) 1 (0.3%) ::fmt 70 (0.7%) 2 (0.5%) as core::ops::index::IndexMut>::index_mut 69 (0.7%) 3 (0.8%) alloc::raw_vec::RawVec::set_ptr_and_cap 67 (0.7%) 1 (0.3%) as core::iter::traits::iterator::Iterator>::size_hint 67 (0.7%) 1 (0.3%) ascii_canvas::AsciiCanvas::grow_rows_if_needed 64 (0.7%) 1 (0.3%) core::str::::trim_end_matches 62 (0.6%) 1 (0.3%) ascii_canvas::dirs_for_box_char 61 (0.6%) 1 (0.3%) as alloc::vec::spec_from_iter_nested::SpecFromIterNested>::from_iter 61 (0.6%) 1 (0.3%) ascii_canvas::box_char_for_dirs 60 (0.6%) 2 (0.5%) as core::slice::index::SliceIndex<[T]>>::get_unchecked 59 (0.6%) 1 (0.3%) core::fmt::Arguments::new_v1 58 (0.6%) 2 (0.5%) core::ptr::metadata::from_raw_parts 58 (0.6%) 1 (0.3%) core::iter::traits::exact_size::ExactSizeIterator::len 57 (0.6%) 4 (1.0%) core::iter::traits::iterator::Iterator::map 57 (0.6%) 1 (0.3%) >::extend 57 (0.6%) 1 (0.3%) ascii_canvas::AsciiCanvas::new 54 (0.6%) 2 (0.5%) as core::slice::index::SliceIndex<[T]>>::index 54 (0.6%) 1 (0.3%) ::write_char 52 (0.5%) 1 (0.3%) ::to_vec 51 (0.5%) 3 (0.8%) alloc::vec::Vec::with_capacity_in 50 (0.5%) 3 (0.8%) core::slice::index:: for [T]>::index 48 (0.5%) 4 (1.0%) core::ptr::mut_ptr::::offset 48 (0.5%) 3 (0.8%) alloc::raw_vec::RawVec::capacity 48 (0.5%) 3 (0.8%) alloc::raw_vec::RawVec::reserve 48 (0.5%) 3 (0.8%) alloc::raw_vec::RawVec::with_capacity_in 48 (0.5%) 1 (0.3%) as core::iter::traits::iterator::Iterator>::fold 48 (0.5%) 1 (0.3%) as core::iter::traits::exact_size::ExactSizeIterator>::len 46 (0.5%) 1 (0.3%) ::read_char 46 (0.5%) 1 (0.3%) core::str::pattern::ReverseSearcher::next_reject_back 45 (0.5%) 3 (0.8%) alloc::raw_vec::RawVec::needs_to_grow 45 (0.5%) 3 (0.8%) alloc::raw_vec::RawVec::reserve::do_reserve_and_handle 45 (0.5%) 3 (0.8%) alloc::vec::Vec::as_mut_ptr 45 (0.5%) 3 (0.8%) core::ptr::slice_from_raw_parts_mut 44 (0.5%) 1 (0.3%) >::from_iter 43 (0.4%) 1 (0.3%) core::num::::checked_add 43 (0.4%) 1 (0.3%) core::num::::checked_mul 43 (0.4%) 1 (0.3%) core::num::::overflowing_add 43 (0.4%) 1 (0.3%) core::num::::overflowing_mul 42 (0.4%) 3 (0.8%) core::ptr::non_null::NonNull::cast 42 (0.4%) 1 (0.3%) ascii_canvas::ShiftedView::new 41 (0.4%) 1 (0.3%) ::next_back::{{closure}} 40 (0.4%) 3 (0.8%) as core::ops::drop::Drop>::drop 40 (0.4%) 1 (0.3%) ascii_canvas::AsciiCanvas::in_range_index 39 (0.4%) 4 (1.0%) core::iter::adapters::map::map_fold 38 (0.4%) 1 (0.3%) as core::str::pattern::Pattern>::into_searcher 38 (0.4%) 1 (0.3%) alloc::raw_vec::handle_reserve 38 (0.4%) 1 (0.3%) core::option::Option::unwrap_or 37 (0.4%) 5 (1.3%) ::into_iter 36 (0.4%) 4 (1.0%) core::ptr::mut_ptr::::is_null 36 (0.4%) 3 (0.8%) alloc::vec::Vec::reserve 36 (0.4%) 3 (0.8%) core::ptr::const_ptr::::offset 36 (0.4%) 1 (0.3%) ::write_char 36 (0.4%) 1 (0.3%) ::add_box_dirs 34 (0.3%) 1 (0.3%) alloc::string::String::push 32 (0.3%) 2 (0.5%) as core::iter::traits::collect::Extend>::extend 32 (0.3%) 2 (0.5%) >::index_mut 30 (0.3%) 4 (1.0%) core::ptr::non_null::NonNull::new_unchecked 30 (0.3%) 2 (0.5%) alloc::vec::Vec::as_ptr 30 (0.3%) 2 (0.5%) core::ptr::slice_from_raw_parts 30 (0.3%) 2 (0.5%) core::slice::raw::from_raw_parts 30 (0.3%) 2 (0.5%) core::slice::raw::from_raw_parts_mut 30 (0.3%) 1 (0.3%) ::write_char 29 (0.3%) 1 (0.3%) core::fmt::ArgumentV1::new 28 (0.3%) 3 (0.8%) core::ptr::write 28 (0.3%) 2 (0.5%) as core::ops::deref::Deref>::deref 28 (0.3%) 2 (0.5%) as core::ops::deref::DerefMut>::deref_mut 28 (0.3%) 1 (0.3%) as core::ops::try_trait::Try>::branch 28 (0.3%) 1 (0.3%) alloc::raw_vec::alloc_guard 28 (0.3%) 1 (0.3%) core::char::methods::::is_whitespace 28 (0.3%) 1 (0.3%) core::ptr::drop_in_place 27 (0.3%) 3 (0.8%) core::ptr::const_ptr::::add 27 (0.3%) 3 (0.8%) core::ptr::mut_ptr::::add 27 (0.3%) 3 (0.8%) core::ptr::unique::Unique::cast 27 (0.3%) 1 (0.3%) ::deallocate 27 (0.3%) 1 (0.3%) core::ptr::drop_in_place> 27 (0.3%) 1 (0.3%) core::ptr::drop_in_place> 27 (0.3%) 1 (0.3%) core::ptr::drop_in_place> 26 (0.3%) 2 (0.5%) core::slice::::iter 26 (0.3%) 1 (0.3%) ::read_char 26 (0.3%) 1 (0.3%) ascii_canvas::ShiftedView::track_max 26 (0.3%) 1 (0.3%) core::str::::chars 25 (0.3%) 4 (1.0%) core::iter::traits::iterator::Iterator::for_each::call 25 (0.3%) 1 (0.3%) ::next_back 25 (0.3%) 1 (0.3%) ascii_canvas::AsciiCanvas::to_strings 24 (0.2%) 3 (0.8%) alloc::raw_vec::RawVec::ptr 24 (0.2%) 3 (0.8%) core::slice::::as_ptr 24 (0.2%) 2 (0.5%) core::slice::index:: for [T]>::index_mut 24 (0.2%) 1 (0.3%) ::columns 22 (0.2%) 3 (0.8%) core::ptr::unique::Unique::new_unchecked 22 (0.2%) 1 (0.3%) core::char::methods::::encode_utf8 22 (0.2%) 1 (0.3%) core::char::methods::len_utf8 21 (0.2%) 1 (0.3%) ascii_canvas::AsciiCanvas::index 20 (0.2%) 1 (0.3%) ::read_char 20 (0.2%) 1 (0.3%) ascii_canvas::add_dirs 20 (0.2%) 1 (0.3%) core::alloc::layout::Layout::from_size_align_unchecked 19 (0.2%) 3 (0.8%) as core::iter::traits::iterator::Iterator>::size_hint 19 (0.2%) 1 (0.3%) ascii_canvas::ShiftedView::close 19 (0.2%) 1 (0.3%) core::str::::as_bytes 19 (0.2%) 1 (0.3%) core::str::converts::from_utf8_unchecked 18 (0.2%) 4 (1.0%) core::ptr::non_null::NonNull::as_ptr 18 (0.2%) 3 (0.8%) alloc::vec::Vec::len 18 (0.2%) 3 (0.8%) core::ptr::unique::Unique::dangling 18 (0.2%) 2 (0.5%) alloc::vec::from_elem 18 (0.2%) 2 (0.5%) core::ptr::const_ptr::::is_null 18 (0.2%) 1 (0.3%) ::into_searcher 18 (0.2%) 1 (0.3%) ::fmt 18 (0.2%) 1 (0.3%) alloc::vec::set_len_on_drop::SetLenOnDrop::increment_len 18 (0.2%) 1 (0.3%) core::iter::adapters::cloned::Cloned::new 18 (0.2%) 1 (0.3%) core::panicking::assert_failed 18 (0.2%) 1 (0.3%) core::str::::char_indices 18 (0.2%) 1 (0.3%) core::str::validations::utf8_first_byte 17 (0.2%) 2 (0.5%) core::iter::traits::iterator::Iterator::collect 17 (0.2%) 1 (0.3%) ascii_canvas::StyleView::new 16 (0.2%) 2 (0.5%) ascii_canvas::AsciiCanvas::grow_rows_if_needed::{{closure}} 16 (0.2%) 2 (0.5%) core::ptr::const_ptr::::as_ptr 16 (0.2%) 1 (0.3%) ::allocate 16 (0.2%) 1 (0.3%) ::allocate_zeroed 16 (0.2%) 1 (0.3%) ::eq 16 (0.2%) 1 (0.3%) >::index 16 (0.2%) 1 (0.3%) alloc::alloc::dealloc 16 (0.2%) 1 (0.3%) alloc::raw_vec::RawVec::with_capacity_zeroed_in 16 (0.2%) 1 (0.3%) alloc::vec::set_len_on_drop::SetLenOnDrop::new 16 (0.2%) 1 (0.3%) core::slice::::len 15 (0.2%) 3 (0.8%) core::ptr::mut_ptr::::cast 15 (0.2%) 1 (0.3%) ::deref 15 (0.2%) 1 (0.3%) ::shift 14 (0.1%) 2 (0.5%) core::slice::raw::debug_check_data_len 14 (0.1%) 1 (0.3%) ::columns 14 (0.1%) 1 (0.3%) ascii_canvas::style::Style::contains 14 (0.1%) 1 (0.3%) core::intrinsics::copy_nonoverlapping 14 (0.1%) 1 (0.3%) core::iter::adapters::enumerate::Enumerate::new 13 (0.1%) 3 (0.8%) core::ptr::unique::Unique::as_ptr 13 (0.1%) 1 (0.3%) >::extend::{{closure}} 13 (0.1%) 1 (0.3%) as core::ops::try_trait::FromResidual>>::from_residual 13 (0.1%) 1 (0.3%) alloc::alloc::alloc 13 (0.1%) 1 (0.3%) alloc::alloc::alloc_zeroed 13 (0.1%) 1 (0.3%) core::iter::traits::iterator::Iterator::cloned 13 (0.1%) 1 (0.3%) core::slice::iter::::into_iter 13 (0.1%) 1 (0.3%) core::str::::trim_end 12 (0.1%) 2 (0.5%) as alloc::vec::ExtendWith>::next 12 (0.1%) 2 (0.5%) core::slice::iter::size_from_ptr 12 (0.1%) 1 (0.3%) ::matches 12 (0.1%) 1 (0.3%) ::styled 12 (0.1%) 1 (0.3%) core::ptr::const_ptr::::copy_to_nonoverlapping 12 (0.1%) 1 (0.3%) core::ptr::const_ptr::::wrapping_offset 12 (0.1%) 1 (0.3%) core::str::validations::utf8_acc_cont_byte 11 (0.1%) 1 (0.3%) as core::iter::traits::collect::FromIterator>::from_iter 11 (0.1%) 1 (0.3%) alloc::slice::::to_vec_in 11 (0.1%) 1 (0.3%) alloc::slice::hack::to_vec 11 (0.1%) 1 (0.3%) ascii_canvas::AsciiCanvas::end_index 11 (0.1%) 1 (0.3%) ascii_canvas::style::Style::with 10 (0.1%) 2 (0.5%) core::ptr::const_ptr::::cast 10 (0.1%) 1 (0.3%) ::is_zero 10 (0.1%) 1 (0.3%) ::next_back 10 (0.1%) 1 (0.3%) alloc::string::String::reserve 10 (0.1%) 1 (0.3%) core::ops::function::FnMut::call_mut 9 (0.1%) 1 (0.3%) alloc::slice::::to_vec 9 (0.1%) 1 (0.3%) alloc::vec::Vec::set_len 9 (0.1%) 1 (0.3%) ascii_canvas::AsciiCanvas::start_index 9 (0.1%) 1 (0.3%) core::alloc::layout::Layout::dangling 9 (0.1%) 1 (0.3%) core::iter::traits::iterator::Iterator::enumerate 9 (0.1%) 1 (0.3%) core::ptr::const_ptr::::wrapping_add 9 (0.1%) 1 (0.3%) core::str::::trim_end::{{closure}} 9 (0.1%) 1 (0.3%) core::str::converts::from_utf8_unchecked_mut 8 (0.1%) 2 (0.5%) as alloc::vec::ExtendWith>::last 8 (0.1%) 1 (0.3%) as alloc::vec::spec_from_iter::SpecFromIter>::from_iter 8 (0.1%) 1 (0.3%) ::is_zero::{{closure}} 8 (0.1%) 1 (0.3%) ::next_back::{{closure}} 8 (0.1%) 1 (0.3%) alloc::string::String::new 8 (0.1%) 1 (0.3%) core::alloc::layout::Layout::align 8 (0.1%) 1 (0.3%) core::char::convert::from_u32_unchecked 8 (0.1%) 1 (0.3%) core::char::methods::::len_utf8 8 (0.1%) 1 (0.3%) core::num::::wrapping_sub 7 (0.1%) 1 (0.3%) as core::str::pattern::ReverseSearcher>::next_reject_back 7 (0.1%) 1 (0.3%) core::num::nonzero::NonZeroUsize::new_unchecked 7 (0.1%) 1 (0.3%) core::ptr::drop_in_place< as alloc::vec::spec_extend::SpecExtend,ascii_canvas::AsciiCanvas::to_strings::{{closure}}>>>::spec_extend::{{closure}}> 7 (0.1%) 1 (0.3%) core::ptr::drop_in_place< as alloc::vec::spec_extend::SpecExtend,ascii_canvas::AsciiCanvas::grow_rows_if_needed::{{closure}}>>>::spec_extend::{{closure}}> 7 (0.1%) 1 (0.3%) core::ptr::drop_in_place< as alloc::vec::spec_extend::SpecExtend,ascii_canvas::AsciiCanvas::grow_rows_if_needed::{{closure}}>>>::spec_extend::{{closure}}> 7 (0.1%) 1 (0.3%) core::ptr::drop_in_place as alloc::vec::spec_extend::SpecExtend,ascii_canvas::AsciiCanvas::to_strings::{{closure}}>>>::spec_extend::{{closure}}>::{{closure}}>::{{closure}}> 7 (0.1%) 1 (0.3%) core::ptr::drop_in_place as alloc::vec::spec_extend::SpecExtend,ascii_canvas::AsciiCanvas::grow_rows_if_needed::{{closure}}>>>::spec_extend::{{closure}}>::{{closure}}>::{{closure}}> 7 (0.1%) 1 (0.3%) core::ptr::drop_in_place as alloc::vec::spec_extend::SpecExtend,ascii_canvas::AsciiCanvas::grow_rows_if_needed::{{closure}}>>>::spec_extend::{{closure}}>::{{closure}}>::{{closure}}> 7 (0.1%) 1 (0.3%) core::ptr::drop_in_place as alloc::vec::spec_extend::SpecExtend,ascii_canvas::AsciiCanvas::to_strings::{{closure}}>>>::spec_extend::{{closure}}>::{{closure}}> 7 (0.1%) 1 (0.3%) core::ptr::drop_in_place as alloc::vec::spec_extend::SpecExtend,ascii_canvas::AsciiCanvas::grow_rows_if_needed::{{closure}}>>>::spec_extend::{{closure}}>::{{closure}}> 7 (0.1%) 1 (0.3%) core::ptr::drop_in_place as alloc::vec::spec_extend::SpecExtend,ascii_canvas::AsciiCanvas::grow_rows_if_needed::{{closure}}>>>::spec_extend::{{closure}}>::{{closure}}> 6 (0.1%) 1 (0.3%) ::columns 6 (0.1%) 1 (0.3%) ::default 6 (0.1%) 1 (0.3%) as core::iter::traits::iterator::Iterator>::size_hint 6 (0.1%) 1 (0.3%) alloc::vec::Vec::with_capacity 6 (0.1%) 1 (0.3%) core::alloc::layout::Layout::size 6 (0.1%) 1 (0.3%) core::ptr::drop_in_place> 6 (0.1%) 1 (0.3%) core::ptr::drop_in_place> 6 (0.1%) 1 (0.3%) core::ptr::drop_in_place> 5 (0.1%) 5 (1.3%) core::mem::size_of 5 (0.1%) 1 (0.3%) ::clone 5 (0.1%) 1 (0.3%) core::clone::impls::::clone 5 (0.1%) 1 (0.3%) core::str::validations::utf8_is_cont_byte 4 (0.0%) 1 (0.3%) core::num::nonzero::NonZeroUsize::get 4 (0.0%) 1 (0.3%) core::ptr::drop_in_place<&usize> 3 (0.0%) 3 (0.8%) core::mem::align_of 3 (0.0%) 1 (0.3%) >::from 3 (0.0%) 1 (0.3%) ascii_canvas::style::Style::new 1 (0.0%) 1 (0.3%) ::default 1 (0.0%) 1 (0.3%) core::ptr::null 1 (0.0%) 1 (0.3%) core::ptr::null_mut