z.lua is fast enough for most case, the path tracking action will be triggered each time when you change your current directory.
So I still recommend the pure lua script for portability and flexibility, but for someone who really care about 10ms or 1ms things, this module can help them to gain the ultimate speed.
- Speed up
z.luafor history tracking and matching. - 20 times smaller than
zoxidein binary size. - 4-5 times faster than the rust project
zoxide. - Easy to install.
sudo apt-get install musl-toolsgit clone https://github.com/skywind3000/czmod.git ~/github/czmod
cd ~/github/czmod
sh build.shczmod must be initialized after z.lua:
bash:
eval "$(lua ~/github/z.lua/z.lua --init bash enhanced once echo)"
source ~/github/czmod/czmod.bashzsh:
eval "$(lua ~/github/z.lua/z.lua --init zsh enhanced once echo)"
source ~/github/czmod/czmod.zshAverage performance:
| Name | czmod | zoxide |
|---|---|---|
| Update Time | 1.6ms | 7.1ms |
| Query Time | 1.5ms | 5.8ms |
| Binary Size | 102 KB | 2.2 MB |
Benchmark with hyperfine for updating:
and searching:
TODO