I'd be happy if someone could time these methods on MS-Windows and on
some *BSD system, at least. Bonus points for macOS.
I'm not sure it is what you asked for but here is some numbers on
OpenBSD (native 'find' and 'xargs'):
$ time find ~/emacs-repo -type f -exec grep foo {} + > /dev/null
0m04.09s real 0m03.29s user 0m00.74s system
$ time find ~/emacs-repo -type f -print0 | xargs -0 grep foo > /dev/null
0m04.10s real 0m03.45s user 0m00.66s system
$ find /usr/src -type f | wc -l
114315
$ time find /usr/src -type f -exec grep foo {} + > /dev/null
0m14.07s real 0m07.68s user 0m06.29s system
$ time find /usr/src -type f -print0 | xargs -0 grep foo > /dev/null
0m13.83s real 0m07.94s user 0m06.25s system