A Zsh plugin to cache command output to boost shell startup.
It basically has the same functionality as evalcache, except that
Here are some benchmark results. (CPU: Ryzen 3700X)
Benchmarked by hyperfine 'zsh -ic exit'
and comparing the differences.
command | version | raw eval | zsh-smartcache | evalcache |
---|---|---|---|---|
rbenv init |
1.2.0 | ~48ms | ~23.5ms | ~23.5ms |
hub alias |
2.14.2 | ~2.5ms | ~1.5ms | ~1.5ms |
scmpuff init |
0.5.0 | ~2.5ms | ~2ms | ~2ms |
Some changes from evalcache's results:
rbenv init
is much lower, since the command output now includes rbenv
calls, which are super slow.hub alias
and scmpuff init
are superfast now.eval "$(rbenv init -)"
# change to
smartcache eval rbenv init -
rustup completions zsh > ~/.zfunc/_rustup
fpath+=~/.zfunc
# change to
smartcache comp rustup completions zsh
ZSH_SMARTCACHE_DIR
: cache files storage, default to ${XDG_CACHE_HOME:-$HOME/.cache}/zsh-smartcache
.