Projektet PaSh, som utvecklar verktyg för parallell körning av shell-skript, har meddelat att det övergÄr under beskydd av Linux Foundation, som kommer att tillhandahÄlla den infrastruktur och de tjÀnster som behövs för att fortsÀtta utvecklingen. Koden för projektet distribueras under MIT-licensen och inkluderar komponenter pÄ sprÄken Python, Shell, C och OCaml.
PaSh inkluderar en JIT-kompilator, runtime och ett annoteringsbibliotek:
- Runtime tillhandahÄller en uppsÀttning primitiv för att stödja parallell körning av skript.
- Annoteringsbiblioteket definierar en uppsÀttning egenskaper som beskriver situationer dÀr parallellisering av individuella kommandon frÄn POSIX och GNU Coreutils Àr tillÄten.
- Kompilatorn analyserar det föreslagna shell-skriptet i ett abstrakt syntaxtrÀd (AST), bryter ner det i fragment som Àr lÀmpliga för parallell körning och bildar en ny version av skriptet dÀr delarna kan köras samtidigt. Information om kommandon som tillÄter parallellisering hÀmtas av kompileraren frÄn annoteringsbiblioteket. Under genereringen av den parallellt körbara versionen av skriptet lÀggs ytterligare konstruktioner frÄn Runtime in i koden.

Till exempel kommer ett skript som behandlar tvĂ„ filer f1.md och f2.md cat f1.md f2.md | tr A-Z a-z | tr -cs A-Za-z â\nâ | sort | uniq | comm -13 dict.txt â > out cat out | wc -l | sed âs/$/ felstavade ord!/â under normala omstĂ€ndigheter att behandla tvĂ„ filer sekventiellt:


KĂ€lla: opennet.ru
