Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Shell startup, aliases vs. functions vs. autoloadable functions, and zcompile benefits



On Tue, Nov 30, 2021 at 9:10 AM Mikael Magnusson <mikachu@xxxxxxxxx> wrote:
>
> On 11/30/21, Roman Perepelitsa <roman.perepelitsa@xxxxxxxxx> wrote:
> > On Tue, Nov 30, 2021 at 3:30 AM Zach Riggle <zachriggle@xxxxxxxxx> wrote:
> >>
> >> The benchmark I used
> >>
> >> $ hyperfine 'zsh -i -l "exit 0"'
> >>
> >>
> >> Obviously this is not the BEST benchmark [for checking shell startup
> >> time]
> >
> > Obviously. It's the worst or at least a strong contender for the title.
>
> I think it's fine to do this (assuming he actually meant -i -l -c
> "exit 0" (missing -c in the quoted command)), if you don't do any
> weird stuff in your startup files

Indeed, if all of the following conditions are met, the timing of `zsh
-lic exit` is close to zsh startup time:

- No prompt_subst.
- No precmd hooks.
- No zle hooks.
- No exit hooks.
- No HISTFILE.
- No .zlogout.
- No conditioning on ZSH_EXECUTION_STRING.

I don't know if these things are weird but rc files using at least one
of them are common.

> > Since you care about interactive zsh performance, at least skim
> > through the homepage of zsh-bench. It'll save you time.
>
> % ./zsh-bench
> ==> benchmarking login shell of mikaelh ...
> zsh-bench: cannot find prompt; make sure it contains hostname or the
> last part of the current directory
>
> Sadly no time was saved :(.

That's an unorthodox reading of "skim through the homepage".

Roman.




Messages sorted by: Reverse Date, Date, Thread, Author