Skip to content
Eric Nielsen edited this page Nov 26, 2021 · 12 revisions

Speed is important and is something Zim takes pride in. Many users of Zsh frameworks complain of the slowness in gaining an interactive session. Below is a load-time comparison of many popular frameworks.

The tests were done with almost the exact same modules/plugins. The default configurations for each framework are changed only slightly from their default. This is to match feature-parity against the baseline, Zim. Each load-time test was run 100 times to get the best possible results. The tests were run with the expect script below, that measures the time until the first prompt appearance.

#!/usr/bin/expect -f

set wd [file tail [pwd]]
set c0 [clock microseconds]
spawn -noecho zsh -li
expect {
  -re {\e](?:[0127]|1337);.*?(?:\a|\e\\)} { exp_continue } ; # match escape sequences to be ignored
  $wd { send_error "[expr [clock microseconds] - $c0]\n" } ; # match working dir at prompt
  timeout { exit 1 }
}
sleep 1
send "exit\r"

The script that generated these results can be found here.

Zsh frameworks benchmark

Clone this wiki locally