Flame Graph Reset ZoomSearch <regex::exec::ExecNoSync as regex::re_trait::RegularExpression>::captures_read_at (1 samples, 0.01%)[libc-2.31.so] (99 samples, 1.03%)core::ptr::mut_ptr::<impl *mut T>::add (5 samples, 0.05%)core::ptr::mut_ptr::<impl *mut T>::offset (5 samples, 0.05%)retroboard::retroboard::RetroBoard::does_unmove_give_check (2 samples, 0.02%)core::option::Option<T>::is_none (214 samples, 2.22%)c..core::option::Option<T>::is_some (214 samples, 2.22%)c..<shakmaty::bitboard::Bitboard as core::ops::bit::BitXor<T>>::bitxor (62 samples, 0.64%)core::option::Option<T>::unwrap (4 samples, 0.04%)retroboard::retroboard::RetroBoard::king_of (292 samples, 3.02%)ret..shakmaty::board::Board::king_of (288 samples, 2.98%)sha..shakmaty::bitboard::Bitboard::single_square (288 samples, 2.98%)sha..shakmaty::bitboard::Bitboard::more_than_one (288 samples, 2.98%)sha..shakmaty::attacks::bishop_attacks (3 samples, 0.03%)shakmaty::attacks::king_attacks (7 samples, 0.07%)shakmaty::attacks::knight_attacks (1 samples, 0.01%)shakmaty::attacks::pawn_attacks (4 samples, 0.04%)shakmaty::attacks::bishop_attacks (107 samples, 1.11%)core::num::<impl u64>::wrapping_mul (6 samples, 0.06%)shakmaty::attacks::queen_attacks (208 samples, 2.15%)s..shakmaty::attacks::rook_attacks (101 samples, 1.05%)core::slice::<impl [T]>::get_unchecked (5 samples, 0.05%)<usize as core::slice::index::SliceIndex<[T]>>::get_unchecked (5 samples, 0.05%)core::ptr::const_ptr::<impl *const T>::add (5 samples, 0.05%)core::ptr::const_ptr::<impl *const T>::offset (5 samples, 0.05%)shakmaty::attacks::attacks (1,004 samples, 10.40%)shakmaty::attac..shakmaty::attacks::rook_attacks (8 samples, 0.08%)core::option::Option<T>::map (1 samples, 0.01%)shakmaty::board::Board::piece_at::{{closure}} (1 samples, 0.01%)shakmaty::bitboard::Bitboard::contains (1 samples, 0.01%)shakmaty::bitboard::Bitboard::is_empty (1 samples, 0.01%)<shakmaty::bitboard::Bitboard as core::ops::bit::BitAnd<T>>::bitand (10 samples, 0.10%)retroboard::retroboard::RetroBoard::does_unmove_give_check (3,207 samples, 33.22%)retroboard::retroboard::RetroBoard::does_unmove_give_c..shakmaty::board::Board::piece_at (1,079 samples, 11.18%)shakmaty::board:..shakmaty::board::Board::role_at (750 samples, 7.77%)shakmaty::b..shakmaty::bitboard::Bitboard::contains (154 samples, 1.60%)shakmaty::bitboard::Bitboard::from_square (144 samples, 1.49%)core::option::Option<T>::unwrap (20 samples, 0.21%)shakmaty::bitboard::Bitboard::single_square (446 samples, 4.62%)shakm..shakmaty::bitboard::Bitboard::more_than_one (446 samples, 4.62%)shakm..retroboard::retroboard::RetroBoard::king_of (479 samples, 4.96%)retrob..shakmaty::board::Board::king_of (459 samples, 4.75%)shakma..shakmaty::board::Board::by_color (13 samples, 0.13%)shakmaty::attacks::between (2 samples, 0.02%)shakmaty::attacks::ray (2 samples, 0.02%)<shakmaty::bitboard::Bitboard as core::ops::bit::BitAnd<T>>::bitand (5 samples, 0.05%)retroboard::retroboard::RetroBoard::is_safe (5,014 samples, 51.94%)retroboard::retroboard::RetroBoard::is_safeshakmaty::bitboard::Bitboard::contains (112 samples, 1.16%)shakmaty::bitboard::Bitboard::from_square (107 samples, 1.11%)arrayvec::arrayvec::ArrayVec<T,_>::retain (5,600 samples, 58.01%)arrayvec::arrayvec::ArrayVec<T,_>::retainarrayvec::arrayvec::ArrayVec<T,_>::retain::process_one (5,323 samples, 55.14%)arrayvec::arrayvec::ArrayVec<T,_>::retain::process_oneretroboard::retroboard::RetroBoard::legal_unmoves::{{closure}} (5,225 samples, 54.13%)retroboard::retroboard::RetroBoard::legal_unmoves::{{closure}}shakmaty::bitboard::Bitboard::first (23 samples, 0.24%)core::option::Option<T>::unwrap (1 samples, 0.01%)retroboard::retroboard::RetroBoard::king_of (4 samples, 0.04%)shakmaty::board::Board::king_of (3 samples, 0.03%)shakmaty::bitboard::Bitboard::single_square (3 samples, 0.03%)shakmaty::bitboard::Bitboard::more_than_one (3 samples, 0.03%)retroboard::retroboard::RetroBoard::checkers (5 samples, 0.05%)shakmaty::board::Board::attacks_to (1 samples, 0.01%)shakmaty::attacks::knight_attacks (1 samples, 0.01%)<shakmaty::bitboard::Bitboard as core::ops::bit::BitAnd<T>>::bitand (6 samples, 0.06%)retroboard::retroboard::RetroBoard::gen_en_passant (13 samples, 0.13%)shakmaty::bitboard::Bitboard::relative_shift (2 samples, 0.02%)retroboard::retroboard::RetroBoard::gen_uncaptures (1 samples, 0.01%)core::ptr::drop_in_place<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<shakmaty::types::Role>,retroboard::retroboard::RetroBoard::gen_uncaptures::{{closure}}>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::vec::into_iter::IntoIter<shakmaty::types::Role>> (1 samples, 0.01%)<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)core::ptr::drop_in_place<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<shakmaty::types::Role,alloc::alloc::Global>> (1 samples, 0.01%)<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<shakmaty::types::Role>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)cfree (1 samples, 0.01%)core::num::<impl u64>::wrapping_sub (5 samples, 0.05%)<shakmaty::bitboard::IntoIter as core::iter::traits::iterator::Iterator>::next (9 samples, 0.09%)shakmaty::bitboard::Bitboard::pop_front (9 samples, 0.09%)shakmaty::bitboard::Bitboard::first (3 samples, 0.03%)arrayvec::arrayvec::ArrayVec<T,_>::push (1 samples, 0.01%)arrayvec::arrayvec_impl::ArrayVecImpl::push (1 samples, 0.01%)arrayvec::arrayvec_impl::ArrayVecImpl::try_push (1 samples, 0.01%)<shakmaty::bitboard::IntoIter as core::iter::traits::iterator::Iterator>::next (11 samples, 0.11%)shakmaty::bitboard::Bitboard::pop_front (11 samples, 0.11%)core::num::<impl u64>::wrapping_sub (11 samples, 0.11%)<alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::next (22 samples, 0.23%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (32 samples, 0.33%)core::option::Option<T>::map (10 samples, 0.10%)core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (10 samples, 0.10%)retroboard::retroboard::RetroBoard::gen_uncaptures::{{closure}} (10 samples, 0.10%)<retroboard::retropocket::RetroPocket as core::clone::Clone>::clone (2 samples, 0.02%)alloc::vec::Vec<T,A>::as_mut_ptr (2 samples, 0.02%)alloc::raw_vec::RawVec<T,A>::current_memory (2 samples, 0.02%)alloc::raw_vec::RawVec<T,A>::set_ptr (1 samples, 0.01%)<regex::exec::ExecNoSync as regex::re_trait::RegularExpression>::captures_read_at (3 samples, 0.03%)__libc_malloc (26 samples, 0.27%)__rdl_alloc (3 samples, 0.03%)std::sys::unix::alloc::<impl core::alloc::global::GlobalAlloc for std::alloc::System>::alloc (3 samples, 0.03%)alloc::raw_vec::finish_grow (44 samples, 0.46%)core::result::Result<T,E>::map_err (1 samples, 0.01%)core::cmp::max (4 samples, 0.04%)core::cmp::Ord::max (4 samples, 0.04%)core::cmp::max_by (4 samples, 0.04%)alloc::vec::Vec<T,A>::reserve (58 samples, 0.60%)alloc::raw_vec::RawVec<T,A>::reserve (58 samples, 0.60%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (55 samples, 0.57%)alloc::raw_vec::RawVec<T,A>::grow_amortized (53 samples, 0.55%)core::option::Option<T>::ok_or (1 samples, 0.01%)alloc::vec::Vec<T,A>::push (65 samples, 0.67%)core::ptr::write (1 samples, 0.01%)<retroboard::retropocket::RetroPocket as core::iter::traits::collect::IntoIterator>::into_iter (73 samples, 0.76%)alloc::vec::Vec<T>::new (6 samples, 0.06%)arrayvec::arrayvec::ArrayVec<T,_>::push (5 samples, 0.05%)arrayvec::arrayvec_impl::ArrayVecImpl::push (5 samples, 0.05%)arrayvec::arrayvec_impl::ArrayVecImpl::try_push (5 samples, 0.05%)<regex::exec::ExecNoSync as regex::re_trait::RegularExpression>::captures_read_at (8 samples, 0.08%)[libc-2.31.so] (43 samples, 0.45%)core::ptr::drop_in_place<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<shakmaty::types::Role>,retroboard::retroboard::RetroBoard::gen_uncaptures::{{closure}}>> (80 samples, 0.83%)core::ptr::drop_in_place<alloc::vec::into_iter::IntoIter<shakmaty::types::Role>> (80 samples, 0.83%)<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (80 samples, 0.83%)core::ptr::drop_in_place<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<shakmaty::types::Role,alloc::alloc::Global>> (80 samples, 0.83%)<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<T,A> as core::ops::drop::Drop>::drop (80 samples, 0.83%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<shakmaty::types::Role>> (78 samples, 0.81%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (78 samples, 0.81%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (78 samples, 0.81%)alloc::alloc::dealloc (78 samples, 0.81%)cfree (25 samples, 0.26%)retroboard::retroboard::RetroBoard::gen_uncaptures (218 samples, 2.26%)r..shakmaty::bitboard::Bitboard::contains (12 samples, 0.12%)shakmaty::bitboard::Bitboard::from_square (12 samples, 0.12%)retroboard::retroboard::RetroBoard::gen_pawn_uncaptures (232 samples, 2.40%)re..shakmaty::attacks::pawn_attacks (2 samples, 0.02%)retroboard::retroboard::RetroBoard::gen_pawns (249 samples, 2.58%)re..shakmaty::bitboard::Bitboard::relative_rank (7 samples, 0.07%)shakmaty::bitboard::Bitboard::rank (7 samples, 0.07%)<shakmaty::bitboard::Bitboard as core::ops::bit::BitAnd<T>>::bitand (3 samples, 0.03%)<shakmaty::bitboard::IntoIter as core::iter::traits::iterator::Iterator>::next (22 samples, 0.23%)shakmaty::bitboard::Bitboard::pop_front (22 samples, 0.23%)shakmaty::bitboard::Bitboard::first (22 samples, 0.23%)arrayvec::arrayvec::ArrayVec<T,_>::push (39 samples, 0.40%)arrayvec::arrayvec_impl::ArrayVecImpl::push (39 samples, 0.40%)arrayvec::arrayvec_impl::ArrayVecImpl::try_push (39 samples, 0.40%)arrayvec::arrayvec_impl::ArrayVecImpl::push_unchecked (6 samples, 0.06%)<arrayvec::arrayvec::ArrayVec<T,_> as arrayvec::arrayvec_impl::ArrayVecImpl>::set_len (6 samples, 0.06%)<alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::next (432 samples, 4.48%)<allo..<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (575 samples, 5.96%)<core::i..core::option::Option<T>::map (143 samples, 1.48%)core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (132 samples, 1.37%)retroboard::retroboard::RetroBoard::gen_uncaptures::{{closure}} (132 samples, 1.37%)<retroboard::retropocket::RetroPocket as core::clone::Clone>::clone (29 samples, 0.30%)<alloc::vec::Vec<T,A> as core::iter::traits::collect::IntoIterator>::into_iter (4 samples, 0.04%)alloc::vec::Vec<T,A>::as_mut_ptr (21 samples, 0.22%)alloc::raw_vec::RawVec<T,A>::current_memory (5 samples, 0.05%)alloc::raw_vec::RawVec<T,A>::set_ptr (33 samples, 0.34%)<regex::exec::ExecNoSync as regex::re_trait::RegularExpression>::captures_read_at (65 samples, 0.67%)__libc_malloc (452 samples, 4.68%)__lib..__rdl_alloc (63 samples, 0.65%)std::sys::unix::alloc::<impl core::alloc::global::GlobalAlloc for std::alloc::System>::alloc (63 samples, 0.65%)alloc::raw_vec::finish_grow (717 samples, 7.43%)alloc::raw..core::result::Result<T,E>::map_err (9 samples, 0.09%)core::cmp::max (84 samples, 0.87%)core::cmp::Ord::max (84 samples, 0.87%)core::cmp::max_by (84 samples, 0.87%)core::num::<impl usize>::checked_add (2 samples, 0.02%)core::num::<impl usize>::overflowing_add (2 samples, 0.02%)alloc::vec::Vec<T,A>::reserve (906 samples, 9.39%)alloc::vec::V..alloc::raw_vec::RawVec<T,A>::reserve (906 samples, 9.39%)alloc::raw_ve..alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (862 samples, 8.93%)alloc::raw_ve..alloc::raw_vec::RawVec<T,A>::grow_amortized (843 samples, 8.73%)alloc::raw_v..core::option::Option<T>::ok_or (1 samples, 0.01%)alloc::vec::Vec<T,A>::push (1,006 samples, 10.42%)alloc::vec::Vec..core::ptr::write (34 samples, 0.35%)<retroboard::retropocket::RetroPocket as core::iter::traits::collect::IntoIterator>::into_iter (1,105 samples, 11.45%)<retroboard::retr..alloc::vec::Vec<T>::new (47 samples, 0.49%)arrayvec::arrayvec::ArrayVec<T,_>::push (73 samples, 0.76%)arrayvec::arrayvec_impl::ArrayVecImpl::push (73 samples, 0.76%)arrayvec::arrayvec_impl::ArrayVecImpl::try_push (73 samples, 0.76%)<regex::exec::ExecNoSync as regex::re_trait::RegularExpression>::captures_read_at (73 samples, 0.76%)[libc-2.31.so] (362 samples, 3.75%)[lib..core::ptr::drop_in_place<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<shakmaty::types::Role>,retroboard::retroboard::RetroBoard::gen_uncaptures::{{closure}}>> (917 samples, 9.50%)core::ptr::dro..core::ptr::drop_in_place<alloc::vec::into_iter::IntoIter<shakmaty::types::Role>> (917 samples, 9.50%)core::ptr::dro..<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (917 samples, 9.50%)<alloc::vec::i..core::ptr::drop_in_place<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<shakmaty::types::Role,alloc::alloc::Global>> (917 samples, 9.50%)core::ptr::dro..<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<T,A> as core::ops::drop::Drop>::drop (917 samples, 9.50%)<<alloc::vec::..core::ptr::drop_in_place<alloc::raw_vec::RawVec<shakmaty::types::Role>> (872 samples, 9.03%)core::ptr::dr..<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (872 samples, 9.03%)<alloc::raw_v..<alloc::alloc::Global as core::alloc::Allocator>::deallocate (872 samples, 9.03%)<alloc::alloc..alloc::alloc::dealloc (872 samples, 9.03%)alloc::alloc:..cfree (436 samples, 4.52%)cfreeretroboard::retropocket::RetroPockets::color (5 samples, 0.05%)retroboard::unmove::UnMove::uncapture (1 samples, 0.01%)<shakmaty::bitboard::Bitboard as core::ops::bit::BitAnd<T>>::bitand (4 samples, 0.04%)retroboard::retroboard::RetroBoard::gen_uncaptures (3,105 samples, 32.17%)retroboard::retroboard::RetroBoard::gen_uncapturesshakmaty::bitboard::Bitboard::contains (182 samples, 1.89%)s..shakmaty::bitboard::Bitboard::from_square (178 samples, 1.84%)s..shakmaty::attacks::king_attacks (24 samples, 0.25%)shakmaty::attacks::bishop_attacks (5 samples, 0.05%)shakmaty::attacks::queen_attacks (11 samples, 0.11%)shakmaty::attacks::rook_attacks (6 samples, 0.06%)core::num::<impl u64>::wrapping_mul (2 samples, 0.02%)shakmaty::attacks::attacks (70 samples, 0.73%)shakmaty::attacks::rook_attacks (2 samples, 0.02%)core::option::Option<T>::map (12 samples, 0.12%)shakmaty::board::Board::piece_at::{{closure}} (12 samples, 0.12%)shakmaty::bitboard::Bitboard::contains (12 samples, 0.12%)shakmaty::bitboard::Bitboard::is_empty (12 samples, 0.12%)[unknown] (1 samples, 0.01%)[unknown] (1 samples, 0.01%)[unknown] (1 samples, 0.01%)[unknown] (1 samples, 0.01%)[unknown] (1 samples, 0.01%)[unknown] (1 samples, 0.01%)[unknown] (1 samples, 0.01%)[unknown] (1 samples, 0.01%)[unknown] (1 samples, 0.01%)[unknown] (1 samples, 0.01%)<shakmaty::bitboard::Bitboard as core::ops::bit::BitAnd<T>>::bitand (4 samples, 0.04%)retroboard::retroboard::RetroBoard::gen_pieces (3,398 samples, 35.20%)retroboard::retroboard::RetroBoard::gen_piecesshakmaty::board::Board::piece_at (75 samples, 0.78%)shakmaty::board::Board::role_at (63 samples, 0.65%)shakmaty::bitboard::Bitboard::contains (12 samples, 0.12%)shakmaty::bitboard::Bitboard::from_square (8 samples, 0.08%)shakmaty::square::<impl core::convert::From<shakmaty::square::Square> for usize>::from (5 samples, 0.05%)<shakmaty::bitboard::IntoIter as core::iter::traits::iterator::Iterator>::next (1 samples, 0.01%)shakmaty::bitboard::Bitboard::pop_front (1 samples, 0.01%)core::num::<impl u64>::wrapping_sub (1 samples, 0.01%)<alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::next (10 samples, 0.10%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (13 samples, 0.13%)core::option::Option<T>::map (3 samples, 0.03%)core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (3 samples, 0.03%)retroboard::retroboard::RetroBoard::gen_uncaptures::{{closure}} (3 samples, 0.03%)alloc::vec::Vec<T,A>::as_mut_ptr (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::current_memory (1 samples, 0.01%)<regex::exec::ExecNoSync as regex::re_trait::RegularExpression>::captures_read_at (1 samples, 0.01%)__libc_malloc (4 samples, 0.04%)alloc::raw_vec::finish_grow (10 samples, 0.10%)__rdl_alloc (2 samples, 0.02%)std::sys::unix::alloc::<impl core::alloc::global::GlobalAlloc for std::alloc::System>::alloc (2 samples, 0.02%)alloc::vec::Vec<T,A>::reserve (12 samples, 0.12%)alloc::raw_vec::RawVec<T,A>::reserve (12 samples, 0.12%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (12 samples, 0.12%)alloc::raw_vec::RawVec<T,A>::grow_amortized (12 samples, 0.12%)core::cmp::max (1 samples, 0.01%)core::cmp::Ord::max (1 samples, 0.01%)core::cmp::max_by (1 samples, 0.01%)alloc::vec::Vec<T,A>::push (15 samples, 0.16%)core::ptr::write (1 samples, 0.01%)<retroboard::retropocket::RetroPocket as core::iter::traits::collect::IntoIterator>::into_iter (16 samples, 0.17%)alloc::vec::Vec<T>::new (1 samples, 0.01%)arrayvec::arrayvec::ArrayVec<T,_>::push (4 samples, 0.04%)arrayvec::arrayvec_impl::ArrayVecImpl::push (4 samples, 0.04%)arrayvec::arrayvec_impl::ArrayVecImpl::try_push (4 samples, 0.04%)<regex::exec::ExecNoSync as regex::re_trait::RegularExpression>::captures_read_at (2 samples, 0.02%)[libc-2.31.so] (8 samples, 0.08%)core::ptr::drop_in_place<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<shakmaty::types::Role>,retroboard::retroboard::RetroBoard::gen_uncaptures::{{closure}}>> (16 samples, 0.17%)core::ptr::drop_in_place<alloc::vec::into_iter::IntoIter<shakmaty::types::Role>> (16 samples, 0.17%)<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (16 samples, 0.17%)core::ptr::drop_in_place<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<shakmaty::types::Role,alloc::alloc::Global>> (16 samples, 0.17%)<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<T,A> as core::ops::drop::Drop>::drop (16 samples, 0.17%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<shakmaty::types::Role>> (15 samples, 0.16%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (15 samples, 0.16%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (15 samples, 0.16%)alloc::alloc::dealloc (15 samples, 0.16%)cfree (5 samples, 0.05%)retroboard::retroboard::RetroBoard::gen_unpromotion_on (57 samples, 0.59%)retroboard::retroboard::RetroBoard::gen_pawn_uncaptures (57 samples, 0.59%)retroboard::retroboard::RetroBoard::gen_uncaptures (56 samples, 0.58%)shakmaty::bitboard::Bitboard::contains (3 samples, 0.03%)shakmaty::bitboard::Bitboard::from_square (3 samples, 0.03%)retroboard::retroboard::RetroBoard::pseudo_legal_unmoves (3,718 samples, 38.52%)retroboard::retroboard::RetroBoard::pseudo_legal_unmovesretroboard::retroboard::RetroBoard::gen_unpromotion (61 samples, 0.63%)shakmaty::bitboard::Bitboard::relative_rank (2 samples, 0.02%)shakmaty::bitboard::Bitboard::rank (2 samples, 0.02%)retroboard::retroboard::RetroBoard::slider_blockers (6 samples, 0.06%)<shakmaty::bitboard::Bitboard as core::ops::bit::BitAnd<T>>::bitand (1 samples, 0.01%)shakmaty::bitboard::Bitboard::count (2 samples, 0.02%)core::num::<impl u64>::count_ones (2 samples, 0.02%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (9,457 samples, 97.97%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::foldcore::iter::traits::iterator::Iterator::fold (9,457 samples, 97.97%)core::iter::traits::iterator::Iterator::foldcore::iter::adapters::map::map_fold::{{closure}} (9,457 samples, 97.97%)core::iter::adapters::map::map_fold::{{closure}}retroboard::perft::{{closure}} (9,457 samples, 97.97%)retroboard::perft::{{closure}}retroboard::perft (9,457 samples, 97.97%)retroboard::perftcore::iter::traits::iterator::Iterator::sum (9,457 samples, 97.97%)core::iter::traits::iterator::Iterator::sum<u64 as core::iter::traits::accum::Sum>::sum (9,457 samples, 97.97%)<u64 as core::iter::traits::accum::Sum>::sum<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (9,457 samples, 97.97%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::foldcore::iter::traits::iterator::Iterator::fold (9,457 samples, 97.97%)core::iter::traits::iterator::Iterator::foldcore::iter::adapters::map::map_fold::{{closure}} (9,457 samples, 97.97%)core::iter::adapters::map::map_fold::{{closure}}retroboard::perft::{{closure}} (9,457 samples, 97.97%)retroboard::perft::{{closure}}retroboard::perft (9,457 samples, 97.97%)retroboard::perftcore::iter::traits::iterator::Iterator::sum (9,457 samples, 97.97%)core::iter::traits::iterator::Iterator::sum<u64 as core::iter::traits::accum::Sum>::sum (9,457 samples, 97.97%)<u64 as core::iter::traits::accum::Sum>::sum<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (9,457 samples, 97.97%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::foldcore::iter::traits::iterator::Iterator::fold (9,457 samples, 97.97%)core::iter::traits::iterator::Iterator::foldcore::iter::adapters::map::map_fold::{{closure}} (9,457 samples, 97.97%)core::iter::adapters::map::map_fold::{{closure}}retroboard::perft::{{closure}} (9,457 samples, 97.97%)retroboard::perft::{{closure}}retroboard::perft (9,457 samples, 97.97%)retroboard::perftretroboard::retroboard::RetroBoard::legal_unmoves (9,457 samples, 97.97%)retroboard::retroboard::RetroBoard::legal_unmovesshakmaty::board::Board::piece_at (1 samples, 0.01%)shakmaty::board::Board::role_at (1 samples, 0.01%)shakmaty::bitboard::Bitboard::contains (1 samples, 0.01%)shakmaty::bitboard::Bitboard::from_square (1 samples, 0.01%)arrayvec::arrayvec::ArrayVec<T,_>::retain (1 samples, 0.01%)<regex::exec::ExecNoSync as regex::re_trait::RegularExpression>::captures_read_at (2 samples, 0.02%)<regex::exec::ExecNoSync as regex::re_trait::RegularExpression>::captures_read_at (2 samples, 0.02%)__libc_start_main (2 samples, 0.02%)<regex::exec::ExecNoSync as regex::re_trait::RegularExpression>::captures_read_at (2 samples, 0.02%)std::rt::lang_start_internal (2 samples, 0.02%)std::panic::catch_unwind (2 samples, 0.02%)std::panicking::try (2 samples, 0.02%)std::panicking::try::do_call (2 samples, 0.02%)std::rt::lang_start_internal::{{closure}} (2 samples, 0.02%)std::panic::catch_unwind (2 samples, 0.02%)std::panicking::try (2 samples, 0.02%)std::panicking::try::do_call (2 samples, 0.02%)core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once (2 samples, 0.02%)std::rt::lang_start::{{closure}} (2 samples, 0.02%)std::sys_common::backtrace::__rust_begin_short_backtrace (2 samples, 0.02%)core::ops::function::FnOnce::call_once (2 samples, 0.02%)retroboard::main (2 samples, 0.02%)retroboard::retroboard (2 samples, 0.02%)retroboard::perft (2 samples, 0.02%)core::iter::traits::iterator::Iterator::sum (2 samples, 0.02%)<u64 as core::iter::traits::accum::Sum>::sum (2 samples, 0.02%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (2 samples, 0.02%)core::iter::traits::iterator::Iterator::fold (2 samples, 0.02%)core::iter::adapters::map::map_fold::{{closure}} (2 samples, 0.02%)retroboard::perft::{{closure}} (2 samples, 0.02%)retroboard::perft (2 samples, 0.02%)retroboard::retroboard::RetroBoard::legal_unmoves (2 samples, 0.02%)retroboard::retroboard::RetroBoard::pseudo_legal_unmoves (1 samples, 0.01%)retroboard::retroboard::RetroBoard::gen_pieces (1 samples, 0.01%)retroboard::retroboard::RetroBoard::gen_uncaptures (1 samples, 0.01%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.01%)<alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.01%)<retroboard::retropocket::RetroPocket as core::iter::traits::collect::IntoIterator>::into_iter (5 samples, 0.05%)retroboard::retroboard::RetroBoard::gen_uncaptures (1 samples, 0.01%)<retroboard::retropocket::RetroPocket as core::iter::traits::collect::IntoIterator>::into_iter (1 samples, 0.01%)[[heap]] (11 samples, 0.11%)[[heap]] (11 samples, 0.11%)retroboard::retroboard::RetroBoard::legal_unmoves (5 samples, 0.05%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (42 samples, 0.44%)alloc::raw_vec::RawVec<T,A>::grow_amortized (42 samples, 0.44%)alloc::raw_vec::finish_grow (42 samples, 0.44%)[[stack]] (53 samples, 0.55%)[[stack]] (53 samples, 0.55%)retroboard::retroboard::RetroBoard::is_safe (11 samples, 0.11%)<retroboard::retropocket::RetroPocket as core::iter::traits::collect::IntoIterator>::into_iter (11 samples, 0.11%)alloc::vec::Vec<T,A>::push (11 samples, 0.11%)alloc::vec::Vec<T,A>::reserve (11 samples, 0.11%)alloc::raw_vec::RawVec<T,A>::reserve (11 samples, 0.11%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (11 samples, 0.11%)arrayvec::arrayvec::ArrayVec<T,_>::retain (3 samples, 0.03%)arrayvec::arrayvec::ArrayVec<T,_>::retain::process_one (3 samples, 0.03%)retroboard::retroboard::RetroBoard::legal_unmoves::{{closure}} (3 samples, 0.03%)retroboard::retroboard::RetroBoard::does_unmove_give_check (3 samples, 0.03%)retroboard::retroboard::RetroBoard::legal_unmoves (1 samples, 0.01%)arrayvec::arrayvec::ArrayVec<T,_>::retain (1 samples, 0.01%)[unknown] (21 samples, 0.22%)[unknown] (21 samples, 0.22%)retroboard::retroboard::RetroBoard::pseudo_legal_unmoves (6 samples, 0.06%)retroboard::retroboard::RetroBoard::gen_pieces (6 samples, 0.06%)retroboard::retroboard::RetroBoard::gen_uncaptures (6 samples, 0.06%)arrayvec::arrayvec::ArrayVec<T,_>::retain (1 samples, 0.01%)arrayvec::arrayvec::ArrayVec<T,_>::retain::process_one (1 samples, 0.01%)retroboard::retroboard::RetroBoard::legal_unmoves::{{closure}} (1 samples, 0.01%)retroboard::retroboard::RetroBoard::does_unmove_give_check (1 samples, 0.01%)<u64 as core::iter::traits::accum::Sum>::sum::{{closure}} (2 samples, 0.02%)retroboard::retropocket::RetroPocket::decr (19 samples, 0.20%)retroboard::unmove::UnMove::uncapture (5 samples, 0.05%)shakmaty::bitboard::Bitboard::toggle (2 samples, 0.02%)<shakmaty::bitboard::Bitboard as core::ops::bit::BitXorAssign<T>>::bitxor_assign (2 samples, 0.02%)shakmaty::board::Board::remove_piece_at (16 samples, 0.17%)shakmaty::board::Board::piece_at (14 samples, 0.15%)shakmaty::board::Board::role_at (12 samples, 0.12%)shakmaty::bitboard::Bitboard::contains (5 samples, 0.05%)shakmaty::bitboard::Bitboard::from_square (5 samples, 0.05%)shakmaty::bitboard::Bitboard::toggle (9 samples, 0.09%)<shakmaty::bitboard::Bitboard as core::ops::bit::BitXorAssign<T>>::bitxor_assign (9 samples, 0.09%)core::iter::traits::iterator::Iterator::sum (64 samples, 0.66%)<u64 as core::iter::traits::accum::Sum>::sum (64 samples, 0.66%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (64 samples, 0.66%)core::iter::traits::iterator::Iterator::fold (64 samples, 0.66%)core::iter::adapters::map::map_fold::{{closure}} (64 samples, 0.66%)retroboard::perft::{{closure}} (62 samples, 0.64%)retroboard::retroboard::RetroBoard::push (62 samples, 0.64%)shakmaty::board::Board::set_piece_at (15 samples, 0.16%)shakmaty::board::Board::discard_piece_at (6 samples, 0.06%)shakmaty::bitboard::Bitboard::discard (6 samples, 0.06%)<shakmaty::bitboard::Bitboard as core::ops::bit::BitAndAssign<T>>::bitand_assign (6 samples, 0.06%)core::option::Option<T>::is_none (1 samples, 0.01%)core::option::Option<T>::is_some (1 samples, 0.01%)retroboard::retroboard::RetroBoard::king_of (3 samples, 0.03%)shakmaty::board::Board::king_of (3 samples, 0.03%)shakmaty::bitboard::Bitboard::single_square (3 samples, 0.03%)shakmaty::bitboard::Bitboard::more_than_one (3 samples, 0.03%)shakmaty::attacks::attacks (4 samples, 0.04%)shakmaty::attacks::queen_attacks (1 samples, 0.01%)shakmaty::attacks::rook_attacks (1 samples, 0.01%)retroboard::retroboard::RetroBoard::does_unmove_give_check (11 samples, 0.11%)shakmaty::board::Board::piece_at (3 samples, 0.03%)shakmaty::board::Board::role_at (3 samples, 0.03%)shakmaty::bitboard::Bitboard::contains (1 samples, 0.01%)shakmaty::bitboard::Bitboard::from_square (1 samples, 0.01%)arrayvec::arrayvec::ArrayVec<T,_>::retain (26 samples, 0.27%)arrayvec::arrayvec::ArrayVec<T,_>::retain::process_one (25 samples, 0.26%)retroboard::retroboard::RetroBoard::legal_unmoves::{{closure}} (24 samples, 0.25%)retroboard::retroboard::RetroBoard::is_safe (23 samples, 0.24%)retroboard::retroboard::RetroBoard::king_of (2 samples, 0.02%)shakmaty::board::Board::king_of (2 samples, 0.02%)shakmaty::bitboard::Bitboard::single_square (2 samples, 0.02%)shakmaty::bitboard::Bitboard::more_than_one (2 samples, 0.02%)retroboard::retroboard::RetroBoard::gen_pawns (1 samples, 0.01%)retroboard::retroboard::RetroBoard::gen_pawn_uncaptures (1 samples, 0.01%)retroboard::retroboard::RetroBoard::gen_uncaptures (1 samples, 0.01%)core::ptr::drop_in_place<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<shakmaty::types::Role>,retroboard::retroboard::RetroBoard::gen_uncaptures::{{closure}}>> (1 samples, 0.01%)core::ptr::drop_in_place<alloc::vec::into_iter::IntoIter<shakmaty::types::Role>> (1 samples, 0.01%)<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)core::ptr::drop_in_place<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<shakmaty::types::Role,alloc::alloc::Global>> (1 samples, 0.01%)<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<shakmaty::types::Role>> (1 samples, 0.01%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (1 samples, 0.01%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (1 samples, 0.01%)alloc::alloc::dealloc (1 samples, 0.01%)[libc-2.31.so] (1 samples, 0.01%)arrayvec::arrayvec::ArrayVec<T,_>::push (2 samples, 0.02%)arrayvec::arrayvec_impl::ArrayVecImpl::push (2 samples, 0.02%)arrayvec::arrayvec_impl::ArrayVecImpl::try_push (2 samples, 0.02%)arrayvec::arrayvec_impl::ArrayVecImpl::push_unchecked (1 samples, 0.01%)<arrayvec::arrayvec::ArrayVec<T,_> as arrayvec::arrayvec_impl::ArrayVecImpl>::set_len (1 samples, 0.01%)<alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::next (1 samples, 0.01%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next (2 samples, 0.02%)core::option::Option<T>::map (1 samples, 0.01%)core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once (1 samples, 0.01%)retroboard::retroboard::RetroBoard::gen_uncaptures::{{closure}} (1 samples, 0.01%)<retroboard::retropocket::RetroPocket as core::clone::Clone>::clone (1 samples, 0.01%)alloc::raw_vec::RawVec<T,A>::set_ptr (2 samples, 0.02%)alloc::raw_vec::finish_grow (3 samples, 0.03%)__libc_malloc (2 samples, 0.02%)<retroboard::retropocket::RetroPocket as core::iter::traits::collect::IntoIterator>::into_iter (6 samples, 0.06%)alloc::vec::Vec<T,A>::push (6 samples, 0.06%)alloc::vec::Vec<T,A>::reserve (6 samples, 0.06%)alloc::raw_vec::RawVec<T,A>::reserve (6 samples, 0.06%)alloc::raw_vec::RawVec<T,A>::reserve::do_reserve_and_handle (6 samples, 0.06%)alloc::raw_vec::RawVec<T,A>::grow_amortized (6 samples, 0.06%)core::cmp::max (1 samples, 0.01%)core::cmp::Ord::max (1 samples, 0.01%)core::cmp::max_by (1 samples, 0.01%)arrayvec::arrayvec::ArrayVec<T,_>::push (1 samples, 0.01%)arrayvec::arrayvec_impl::ArrayVecImpl::push (1 samples, 0.01%)arrayvec::arrayvec_impl::ArrayVecImpl::try_push (1 samples, 0.01%)[libc-2.31.so] (1 samples, 0.01%)retroboard::retroboard::RetroBoard::gen_uncaptures (13 samples, 0.13%)core::ptr::drop_in_place<core::iter::adapters::map::Map<alloc::vec::into_iter::IntoIter<shakmaty::types::Role>,retroboard::retroboard::RetroBoard::gen_uncaptures::{{closure}}>> (3 samples, 0.03%)core::ptr::drop_in_place<alloc::vec::into_iter::IntoIter<shakmaty::types::Role>> (3 samples, 0.03%)<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop (3 samples, 0.03%)core::ptr::drop_in_place<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<shakmaty::types::Role,alloc::alloc::Global>> (3 samples, 0.03%)<<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop::DropGuard<T,A> as core::ops::drop::Drop>::drop (3 samples, 0.03%)core::ptr::drop_in_place<alloc::raw_vec::RawVec<shakmaty::types::Role>> (3 samples, 0.03%)<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop (3 samples, 0.03%)<alloc::alloc::Global as core::alloc::Allocator>::deallocate (3 samples, 0.03%)alloc::alloc::dealloc (3 samples, 0.03%)cfree (2 samples, 0.02%)shakmaty::attacks::attacks (1 samples, 0.01%)all (9,653 samples, 100%)retroboard (9,653 samples, 100.00%)retroboardretroboard::main (108 samples, 1.12%)retroboard::retroboard (108 samples, 1.12%)retroboard::perft (108 samples, 1.12%)core::iter::traits::iterator::Iterator::sum (108 samples, 1.12%)<u64 as core::iter::traits::accum::Sum>::sum (108 samples, 1.12%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (108 samples, 1.12%)core::iter::traits::iterator::Iterator::fold (108 samples, 1.12%)core::iter::adapters::map::map_fold::{{closure}} (108 samples, 1.12%)retroboard::perft::{{closure}} (108 samples, 1.12%)retroboard::perft (108 samples, 1.12%)core::iter::traits::iterator::Iterator::sum (108 samples, 1.12%)<u64 as core::iter::traits::accum::Sum>::sum (108 samples, 1.12%)<core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (108 samples, 1.12%)core::iter::traits::iterator::Iterator::fold (108 samples, 1.12%)core::iter::adapters::map::map_fold::{{closure}} (108 samples, 1.12%)retroboard::perft::{{closure}} (108 samples, 1.12%)retroboard::perft (108 samples, 1.12%)retroboard::retroboard::RetroBoard::legal_unmoves (44 samples, 0.46%)retroboard::retroboard::RetroBoard::pseudo_legal_unmoves (18 samples, 0.19%)retroboard::retroboard::RetroBoard::gen_pieces (17 samples, 0.18%)shakmaty::board::Board::piece_at (1 samples, 0.01%)shakmaty::board::Board::role_at (1 samples, 0.01%)