Bringing down my ZSH load times from ~3.1s to ~230ms
1–10 of 27 posts
Re: Bringing down my ZSH load times from ~3.1s to ~230ms
#2Re: Bringing down my ZSH load times from ~3.1s to ~230ms
#3How did I know it was going to be `nvm` before I clicked?
These days, I've been personally relying more on direnv to automatically activate certain shell configurations, and then nix to manage binary dependencies like node or go or php.
Re: Bringing down my ZSH load times from ~3.1s to ~230ms
#4I’ve been using mise [1] to manage node versions since with zero issues.
Re: Bringing down my ZSH load times from ~3.1s to ~230ms
#5How did I know it was going to be `nvm` before I clicked?
All the package managers that provide shell wrappers kinda tend to be bad at this, unless they use their own command to wrap over project specifications, like uv. These days, I've been personally relying more on direnv to automatically activate certain shell configurations, and then nix to manage binary dependencies like node or go or php.
Re: Bringing down my ZSH load times from ~3.1s to ~230ms
#6Having gone through the same experience, I suggest dropping fnm as well; I don’t recall what exactly causes it, but it will eventually slow down too. I’ve been using mise [1] to manage node versions since with zero issues. [1] https://mise.jdx.dev
Re: Bringing down my ZSH load times from ~3.1s to ~230ms
#7How did I know it was going to be `nvm` before I clicked?
All the package managers that provide shell wrappers kinda tend to be bad at this, unless they use their own command to wrap over project specifications, like uv. These days, I've been personally relying more on direnv to automatically activate certain shell configurations, and then nix to manage binary dependencies like node or go or php.
Re: Bringing down my ZSH load times from ~3.1s to ~230ms
#8Re: Bringing down my ZSH load times from ~3.1s to ~230ms
#9Earlier quoted context omitted.
All the package managers that provide shell wrappers kinda tend to be bad at this, unless they use their own command to wrap over project specifications, like uv. These days, I've been personally relying more on direnv to automatically activate certain shell configurations, and then nix to manage binary dependencies like node or go or php.
In my experience direnv is also a source of slowness. How fast is it for you?
I haven’t timed it, but it’s not perceptible imo.
Re: Bringing down my ZSH load times from ~3.1s to ~230ms
#10Having gone through the same experience, I suggest dropping fnm as well; I don’t recall what exactly causes it, but it will eventually slow down too. I’ve been using mise [1] to manage node versions since with zero issues. [1] https://mise.jdx.dev
I haven't had any issues with `fnm` so far. It's been fast and I like how it prompts you to install a missing node version as soon as you jump into a directory with a `.nvmrc` file.