Okay, so I removed nvm from initialization and put the `git config` in the background (should really move it to once per desktop session, but haven't got an idea yet as to how I'd do that). Also I added timing to the xtrace. The biggest timesink seems to be that my `.zprofile` gets loaded twice and thus `rbenv init` runs twice, which is kind of slow. The next would be `compdef/compaudit`, but I don't even know what to do about them. On 19 November 2013 18:57, Bart Schaefer wrote: > On Tue, Nov 19, 2013 at 8:27 AM, Timo Sand wrote: > > Here's the xtrace output https://gist.github.com/deiga/7547991 > > > > Not sure how to debug this, any help would be appreciated :) > > Well, to begin with, search for calls to the "git" and "nvm" functions. > > I only see one call to "git": > > +/Users/timosand/.zsh/system.zsh:9> git config --global > credential.helper osxkeychain > +git:0> hub config --global credential.helper osxkeychain > > I know OSX keychain operations can be really slow sometimes; you might > want to consider doing that only once per desktop session rather than > on every shell. Or put this in the background, if it's not directly > modifying the current shell environment. > > The nvm activity seems to be from nvm.plugin.zsh, an oh-my-zsh module. > > The problem with using modular configuration systems like oh-my-zsh is > that they encourage you to throw in all sorts of stuff that you might > use only once in a blue moon, or to try things and then forget you > have them enabled, so you're paying a continuous performance penalty > for an occasional convenience. Part of the point of them being > modular is that things can be easily unplugged, too ... > -- Timo Sand timo.j.sand+sig@gmail.com