100ms optimization is a lot different for a CPU or a human brain. I'm not defending having the entire system log dumped out on every prompt but a few amenities are worth a few milliseconds computation time for a human.
Besides, I don't see how, for example , having your prompt take those 100ms to print a git branch or status breaks your "flow" yet having to type out the commands yourself and taking longer doing it doesn't.
Its a balance between bloat and and usability like so many other things, but, to me at least, being on either extreme of bloat or extreme-minimalism seems counterproductive.
I try to avoid emulation layers like MSYS2, as much as I'm able.
Also, yes, if git hangs on git show/git diff that sounds like an antivirus problem or a dying hard drive or the first one causing the other one.
FWIW, I switched from zsh default to starship and didn't notice any perceptible difference. But I certainly notice when I mess up my git commits!
git_status - 6ms - "[!?] "
directory - 4ms - "<redacted> "
python - 3ms - "via v3.12.9 (.venv) "
character - <1ms - " "
git_branch - <1ms - "on main "
hostname - <1ms - "<redacted> in "
If I go in to my checked out version of the linux kernel, probably the biggest git project I've got kicking around: git_status - 115ms - ""
directory - 4ms - "linux "
character - <1ms - " "
git_branch - <1ms - "on master "
hostname - <1ms - "<redacted> in "
That's typically the worst I see it.Git-aware prompts can't be recommended on Windows, imo.