• Eugene Kosov's avatar
    MDEV-27183 optimize std::map lookup in during crash recovery · 890c5517
    Eugene Kosov authored
    This is a low hanging fruit. Before this patch std::map::emplace() was
    a ~50% of the whole recv_sys_t::parse() operation in by test.
    After the fix it's only ~20%.
    
    recv_sys_t::parse() recv_sys_t::pages is a collection of all pages
    to recovery. Often, there are multiple changes for a single page.
    Often, they go in a row and for such cases let's avoid
    lookup in a std::map. cached_pages_it serves as a cache
    of size 1.
    
    recv_sys_t::add(): replace page_id argument with a std::map::iterator
    890c5517
log0recv.cc 112 KB