Earlier quoted context omitted.
`git grep` is such a weird command: it defaults to being pointlessly redundant with `grep` (with a few default ignores). Contrast with hg grep, which defaults to searching the whole history (although it stops after finding the historical first match, `—all` will display all matches).
"git grep" is a lot faster than grep in a large codebase. One obvious reason is that "git grep" ignores non-checked-in files in the project directory. But I also notice a speed difference even when the project directory is clean.
And AFAIK it can run the grep in parallel. Practically any non-archaic machine has multiple cores now, so git-grep can easily be faster than regular grep from command line.