The implementation of ranges::search_n for bidirectional iterators has some opportunities to investigate for performance improvements; see the discussion that starts at #914 (comment).
(I'll update this issue with specifics and links to sources after #914 merges.)