• # pour la blague...

    Posté par  . Évalué à -6.

    On peut connaître des deadlocks avec le shell et ses pipes. Assez dérangeant quand on ne s'y attend pas !

    ... | tee fifo | xargs ... | cat - fifo

    La très grande majorité des informaticiens comprennent très mal le sujet car derrière ce cachent des choix de design dans les langages de programmation, qui passent pour être incontournables. Pour les curieux intéressez vous au coroutines ; car la raison profonde à l'existence des pipes du shell sont les limitations du C ; attention goto en vue (ou du yield de mémoire pour Python/autres mais c'est pas du jeu…).

    Le parallélisme naturel des pipes (et plus généralement cette manière de programmer par passage de relai) sont un effet de bord involontaire. Soit que le problème se traite très bien avec cette approche, soit pour l'optimisation de l'occupation CPU et des accès disque, c'est une bonne option. Par contre pour de la parallélisation pure c'est très moyen-bof en pratique (perso. mes pipeline shells exploitent rarement tous les cœurs à fond).

    Question perf dans tous les cas il fait bufferiser. Ce qui permet souvent d'obtenir des perfs excellentes malgré les appels systèmes, et de vectoriser un minimum le code dans tous les cas.

  • # Titre alternatif

    Posté par  . Évalué à 9.

    "Je veux faire du code async, mais cet emmerdeur de Rust m'empêche de me tirer un balle dans le pied."

    • [^] # Re: Titre alternatif

      Posté par  (site web personnel) . Évalué à 5.

      Sans rien y connaître en Rust, j'avais cru lire précisément le contraire dans le billet : « Rust n'arrive pas à m'empêcher de me tirer une balle dans le pied quand j'utilise async » ?

      « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.