zsh-users
 help / color / mirror / code / Atom feed
* zsh-bench: Benchmark for interactive zsh
@ 2021-10-27 14:39 Roman Perepelitsa
  0 siblings, 0 replies; only message in thread
From: Roman Perepelitsa @ 2021-10-27 14:39 UTC (permalink / raw)
  To: Zsh Users

I made this: https://github.com/romkatv/zsh-bench

Summary:

- `zsh-bench` measures user-visible latency of interactive zsh: *input lag*,
  *command lag*, etc. You can use it to benchmark your own shell.
- `human-bench` measures human perception of latency when using interactive
  zsh. You can use it to check how it feels to use zsh with specific
  latencies or to test whether you can tell a difference between 5ms and 0ms
  lag.
- I've used `human-bench` to conduct a blind study on myself to find the
  maximum values of latencies that are indistinguishable from zero. For
  example, *command lag* below 10ms feels just like 0ms but anything above
  this value starts feeling sluggish.
- I've used these threshold values to normalize benchmark results to see what
  is fast and what is slow.
- Armed with this set of tools I've optimized two of my zsh projects:
  powerlevel10k and zsh4humans. They used to be fairly fast but now they are
  literally indistinguishable from instantaneous as far as human perception
  goes.
- I've benchmarked many zsh techniques, plugins, frameworks and plugin
  managers and have shared my observations in the document together with a
  brief conclusion.

This is unlikely to be of practical use to many here but hopefully will prove
entertaining to a few.

Roman.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-10-27 14:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-27 14:39 zsh-bench: Benchmark for interactive zsh Roman Perepelitsa

Code repositories for project(s) associated with this inbox:

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).