zsh-users
 help / color / mirror / code / Atom feed
From: Roman Perepelitsa <roman.perepelitsa@gmail.com>
To: Zsh Users <zsh-users@zsh.org>
Subject: zsh-bench: Benchmark for interactive zsh
Date: Wed, 27 Oct 2021 16:39:53 +0200	[thread overview]
Message-ID: <CAN=4vMq6JOnMXzO9C4=MQVKhiSJqtu4ekao8U4mOhw1zNBrYtw@mail.gmail.com> (raw)

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.


                 reply	other threads:[~2021-10-27 14:41 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAN=4vMq6JOnMXzO9C4=MQVKhiSJqtu4ekao8U4mOhw1zNBrYtw@mail.gmail.com' \
    --to=roman.perepelitsa@gmail.com \
    --cc=zsh-users@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public 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).