sift is an alternative that aims for both speed and flexibility - i.e. adding features while trying to reach (or even surpass) the performance of the original grep. The additional features include gitignore support, conditions (e.g. match A only when preceded by B within X lines) , full multi-core support and multiline matching.