ohmyzsh's git status function is utter garbage and has been that way for at least a decade: https://github.com/ohmyzsh/ohmyzsh/commit/8059c0727a09257dc3... (committed 2010) the function forks 32 times just to do some pattern matching builtin to the shell! Needless to say any theme using that crap is criminally slow. (Edit: It started out forking only 14 times; the number gradually expanded to 32: https://github.com/ohmyzsh/ohmyzsh/blob/d0d01c0bbf32ffe1dc22...)
To my surprise, it seems the voice of reason finally prevailed, as that crap has been fixed 20 days ago: https://github.com/ohmyzsh/ohmyzsh/commit/1c58a746af7a67f311... (It's still not remotely close to being well-designed.)
Prezto's git primitives are solid, but nothing could help you when git itself is slow on a huge repo. Hence the need for async.