Le shell (quelque soit le shell) n'est pas performant, c'est mou que ça en peu plus (même dash) par conception.
Je confirme totalement, c'est d'ailleurs une raison supplémentaire pour déléguer tous les traitements complexes à des filtres.
Je m'étais amusé à faire de la POO en shell, c'est à dire à implémenter un mécanisme d'héritage. En gros:
Chaque classe est matérialisée par un dossier
Chaque méthode est matérialisée par un programme dans ce dossier, typiquement un script ou un vrai binaire natif
L'héritage et les fonctions virtuelles sont matérialisées par des symlinks.
En appelant copieusement la fonction eval et en regardant sur le dossier plusieurs fois avant chaque appel de méthode, on arrive à faire ramer copieusement n'importe quelle machine!
Est-ce que par hasard tu connais des outils qui vont un pas plus loin et font du parallélisme distribué? Par exemple qui récupère une liste de comptes SSH et lance des programmes sur l'hôte distant?
[^] # Re: Un petit mot sur les performances
Posté par Michaël (site web personnel) . En réponse à la dépêche Revue des techniques de programmation en shell. Évalué à 3.
Excellent complément(s)!
Je confirme totalement, c'est d'ailleurs une raison supplémentaire pour déléguer tous les traitements complexes à des filtres.
Je m'étais amusé à faire de la POO en shell, c'est à dire à implémenter un mécanisme d'héritage. En gros:
En appelant copieusement la fonction
evalet en regardant sur le dossier plusieurs fois avant chaque appel de méthode, on arrive à faire ramer copieusement n'importe quelle machine!Est-ce que par hasard tu connais des outils qui vont un pas plus loin et font du parallélisme distribué? Par exemple qui récupère une liste de comptes SSH et lance des programmes sur l'hôte distant?