When I first tried it over a decade back, IIRC on an 11" Air, each new session was probably closer to a couple seconds. I recall there were a couple plugins in particular that were major bottlenecks. Replaced those and got the init speed to about half that but it annoyed me enough to do a clean zsh setup.
It turned slow for a whole after I installed anaconda. If you use conda and your shell is slow, try commenting out the code that loads conda, because it's probably that.
nvm likes to slow things down too. Not as bad as conda, but I did add some code to delay load it.
Do you know how fish would prevent getting slowed down by external scripts in its configuration file? Or does it just not support those scripts perhaps?
Yes, I've had to get clear where they differ, but the Fish experience is that much better that it seems worth it.
I've considered replacing more my bash scripts with Fish scripts, but it seems Fish has a slower start start-up time for scripting (not that it matters most of the time) and is more designed for interactive use.
Now it’s even rewritten in Rust!
Then you get trapped by the utility and struggle when you land on some remote server's bash shell.