accélérer le lancement de zsh : quitter oh my zsh pour zim
J'ai utilisé différents shell mais j'ai très vite opter pour tcsh pendant la préhistoire puis depuis une quizaine d'années, j'utilise zsh.
Pour agrémenter son usage, j'ai l'ai configurer, comme beaucoup, avec "Oh my Zsh!".
Mais avec le temps, les options, les temps de lancement d'un shell deviennent longs.
Pour tester les temps de lancement voici la fonction ztest
qui me permet d'évaluer le temps de lancement :
for i in $(seq 1 10); do /usr/bin/time -f "\t%E real,\t%U user,\t%S sys" zsh -i -c exit; done
Ce qui donnait avec "Oh my Zsh!" :
➜ kaluwa ~ ztest
1.45 real 0.75 user 0.39 sys
0.56 real 0.34 user 0.19 sys
0.55 real 0.33 user 0.18 sys
0.55 real 0.33 user 0.18 sys
0.56 real 0.34 user 0.19 sys
0.58 real 0.34 user 0.20 sys
0.56 real 0.33 user 0.18 sys
0.56 real 0.33 user 0.19 sys
0.61 real 0.36 user 0.21 sys
0.69 real 0.39 user 0.24 sys
En cherchant un peu, je suis tombé sur [zim](https://github.com/zimfw/zimfw) plus léger, plus rapide et en adaptant ma configuration, j'obtient désormais :
❯ ztest
0.18 real 0.06 user 0.04 sys
0.12 real 0.06 user 0.03 sys
0.12 real 0.06 user 0.03 sys
0.12 real 0.06 user 0.03 sys
0.13 real 0.06 user 0.03 sys
0.12 real 0.06 user 0.03 sys
0.12 real 0.06 user 0.03 sys
0.12 real 0.06 user 0.03 sys
0.13 real 0.06 user 0.03 sys
0.13 real 0.06 user 0.03 sys
Un temps de lancement divisé par 6 !