Projekti PaSh, i cili zhvillon mjete për ekzekutimin paralel të skripteve shell, ka njoftuar se po lëviz nën kujdesin e Fondacionit Linux, i cili do të ofrojë infrastrukturën dhe shërbimet e nevojshme për të vazhduar zhvillimin. Kodi i projektit shpërndahet nën licencën MIT dhe përfshin komponentë në Python, Shell, C dhe OCaml.
PaSh përfshin një përpilues JIT, kohën e ekzekutimit dhe bibliotekën e shënimeve:
- Runtime ofron një grup primitivësh për të mbështetur ekzekutimin paralel të skripteve.
- Biblioteka e shënimeve përcakton një grup karakteristikash që përshkruajnë situata në të cilat lejohet paralelizimi i komandave individuale POSIX dhe GNU Coreutils.
- Përpiluesi menjëherë analizon skriptin e propozuar Shell në një pemë sintaksore abstrakte (AST), e ndan atë në fragmente të përshtatshme për ekzekutim paralel dhe mbi bazën e tyre formon një version të ri të skriptit, pjesë të të cilit mund të ekzekutohen njëkohësisht. Informacioni rreth komandave që lejojnë paralelizimin merret nga përpiluesi nga biblioteka e shënimeve. Në procesin e gjenerimit të një versioni paralel të ekzekutimit të skriptit, konstruksione shtesë nga Runtime futen në kod.
Për shembull, një skript që përpunon dy skedarë f1.md dhe f2.md cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | renditi | uniq | comm -13 dict.txt — > jashtë cat jashtë | wc -l | sed 's/$/ fjalë të shkruara gabim!/' normalisht do të përpunonte dy skedarë në mënyrë sekuenciale:
Burimi: opennet.ru