D'autant plus que concernant les performances, il est possible d'avoir des choses assez rapide en évitant de lancer des process externes.
Je pense que l'exemple de l'init est vraiment mal venu. D'abord chez moi, les scripts sont lancés en parallèle et le démarrage est très rapide, ensuite lors de l'init, ce sont les autres applications lancées qui prennent du temps. Le temps CPU consacré à l'interprétation doit être très faible.
Par exemple :
$ cat > toto1
i=1 ; while [ $i -lt 1000 ] ; do FILE=toto/titi/tata ; echo ${FILE##*/} > /dev/null ; i=$(( $i + 1 )) ; done
$ cat > toto2
i=1 ; while [ $i -lt 1000 ] ; do basename toto/titi/tata > /dev/null ; i=$(( $i + 1 )) ; done
$ time ./toto1
... 0:00.09elapsed ...
$ time ./toto2
... 0:01.36elapsed ...
"basename" est une commande, on voit que la version 100% bash est beaucoup plus rapide. Suffisamment rapide pour ce qu'il est censé faire.
[^] # Re: Re:
Posté par thedidouille . En réponse au journal Un meilleur shell. Évalué à 5.
Je pense que l'exemple de l'init est vraiment mal venu. D'abord chez moi, les scripts sont lancés en parallèle et le démarrage est très rapide, ensuite lors de l'init, ce sont les autres applications lancées qui prennent du temps. Le temps CPU consacré à l'interprétation doit être très faible.
Par exemple :
$ cat > toto1
i=1 ; while [ $i -lt 1000 ] ; do FILE=toto/titi/tata ; echo ${FILE##*/} > /dev/null ; i=$(( $i + 1 )) ; done
$ cat > toto2
i=1 ; while [ $i -lt 1000 ] ; do basename toto/titi/tata > /dev/null ; i=$(( $i + 1 )) ; done
$ time ./toto1
... 0:00.09elapsed ...
$ time ./toto2
... 0:01.36elapsed ...
"basename" est une commande, on voit que la version 100% bash est beaucoup plus rapide. Suffisamment rapide pour ce qu'il est censé faire.