Benchmark different Zsh plugin managers.
The following plugin managers are benchmarked:
For each plugin manager the install time and the load time was tested
~/.zshrc
until a prompt appears.~/.zshrc
until a prompt appears.23 of some of the most popular plugins (by GitHub stars) listed in Awesome Zsh Plugins were used as as test case. See plugins.txt. The plugins were extracted using awesome-star-count.
hyperfine was used as a benchmarking tool. All benchmarks were run on a quiet cloud VM.
No deferred loading of plugins was done. For example: many plugin managers can be used in conjunction with zsh-defer. Or zinit could be run using wait
which defers the plugin loading until after a prompt.
Lower is better. This is the metric we care about most because its the time it takes to open a new shell until we get a usable prompt.
Lower is better. Although install time is not as important as load time it is probably at least worth doing the install in parallel. From these results its very clear which plugin managers install in parallel vs sequential. Note: network jitter can cause some variation in the results for install time.
To benchmark the 'install' step run the following.
To benchmark the 'load' step run the following.
These commands will output results to results/
. You can then create charts from these results using the following.
First install Python dependencies.
pip install seaborn pandas
or
This project is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4