3 ms·
Two other things that can make OSX terminal launching slow: 1. The default use of /usr/libexec/path_helper to manage your $PATH.[1] 2. An accumulation of log
by telemachos 14y ago
Two other things that can make OSX terminal launching slow:
1. The default use of /usr/libexec/path_helper to manage your $PATH.[1]
2. An accumulation of log files in /var/log/asl.[2]
For (1), I just edit /etc/profile and disable path_helper altogether. I set the PATH manually. (This also allows me to put /usr/local/bin before /usr/bin, which is my preference. I've never understood Apple's default settings for $PATH. They put /usr/local/bin later - which defeats the whole point of installing, say, a newer vim in there.) For (2), a cron or launchd job can take care of it.
[1]: http://mjtsai.com/blog/2009/04/01/slow-opening-terminal-windows/ http://mjtsai.com/blog/2009/04/01/slow-opening-terminal-wind...
[2]: http://osxdaily.com/2010/05/06/speed-up-a-slow-terminal-by-clearing-log-files/ http://osxdaily.com/2010/05/06/speed-up-a-slow-terminal-by-c...
- st3fan 14y agotime /usr/libexec/path_helper PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/share/python:/usr/local/sbin:/Users/stefan/bin"; export PATH; real 0m0.004s user 0m0.001s sys 0m0.002s Really? Are you sure path_helper slows things down?
- telemachos 14y ago> Are you sure path_helper slows things down? I'm sure that it did, but not sure that it does. The code you ran isn't quite what /etc/profile does. Here's a run of that on an older machine where I work (see below on versions): $ time eval `/usr/libexec/path_helper -s` real 0m0.106s user 0m0.084s sys 0m0.021s However, looking at my current machine, I realize that /usr/libexec/path_helper is no longer a shell script at all. It's compiled. Running that same test on a newer machine, I get this: $ time eval `/usr/libexec/path_helper -s` real 0m0.004s user 0m0.001s sys 0m0.003s So, in a nutshell, I think you're right for current machines: The path_helper advice looks to be out of date. I can't edit my original answer any more, but thanks for making me rethink this (I've been annoyed by slow-opening terminals in OSX for years. Apparently, they worked on this part of the problem.)
- n8gray 14y agoYou're not crazy -- path_helper used to be godawful slow. It used to be a shell script with exponential (IIRC) time complexity in the number of components in your path. It could very easily add a huge delay to your launch time.