And here I am all the way up at ~600ms startup lag ($EMPLOYER has a busted Python3 distro that adds a lot of ms each interpreter start-up), but very low prompt lag. *Zach Riggle* On Tue, Nov 30, 2021 at 2:28 AM Mikael Magnusson wrote: > On 11/30/21, Mikael Magnusson wrote: > > On 11/30/21, Roman Perepelitsa wrote: > >> On Tue, Nov 30, 2021 at 3:30 AM Zach Riggle > 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 (like you mention in your "how not > > to benchmark" section). Assuming your startup files are synchronous, > > the above will tell you how long it takes to execute your init file > > plus some other overhead, so if you do something and the number is > > lower, the thing you did will indeed make startup faster. If your > > startup files are not synchronous, then obviously nothing I said > > applies and everything you say is true. BTW, the above command can > > easily be improved for worseness: > > % time (repeat 1000; zsh -ic exit) > > > >> 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 :(. > > Got it running by changing prompt_pat to %, > first_command_lag_ms=48.233 > first_prompt_lag_ms=33.816 > exit_time_ms=32.177 > > I'd say these values are fairly comparable :). > > It would be very useful to have an option to benchmark normal > interactive shells instead of login shells btw, my profile runs stuff > like fortune which is obviously pretty slow in comparison to startup > code, and not at all interesting to benchmark. The quoted times in > this mail is with all the -l removed. > > Also, you recommend against zcompiling .zshrc in your document, but > first_command_lag_ms=56.709 > first_prompt_lag_ms=42.367 > exit_time_ms=40.885 > > Increasing startup time by 33% seems like a bad tradeoff to me, then > again, I know exactly how things work and am not likely to make the > mistake you mention. > > -- > Mikael Magnusson > >