Projekt PaSh koji razvija alate za paralelno izvođenje shell skripti objavio je da prelazi pod okrilje Linux Foundationa koja će osigurati infrastrukturu i usluge potrebne za nastavak razvoja. Kôd projekta distribuira se pod licencom MIT-a i uključuje komponente u Pythonu, Shellu, C i OCaml.
PaSh uključuje JIT kompajler, vrijeme izvođenja i biblioteku komentara:
- Runtime pruža skup primitiva za podršku paralelnog izvođenja skripti.
- Knjižnica zabilješki definira skup svojstava koja opisuju situacije u kojima je dopuštena paralelizacija pojedinačnih POSIX i GNU Coreutils naredbi.
- Kompajler u hodu analizira predloženu Shell skriptu u apstraktno sintaksno stablo (AST), razbija je na fragmente prikladne za paralelno izvođenje i na njihovoj osnovi formira novu verziju skripte čiji se dijelovi mogu izvršavati istovremeno. Informacije o naredbama koje dopuštaju paralelizaciju prevodilac preuzima iz knjižnice zabilješki. U procesu generiranja verzije skripte koja se paralelno izvodi, dodatne konstrukcije iz Runtimea umetnute su u kod.
Na primjer, skripta koja obrađuje dvije datoteke f1.md i f2.md cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | sortirati | jedinstven | comm -13 dict.txt — > out cat out | wc -l | sed 's/$/ pogrešno napisane riječi!/' bi normalno obrađivao dvije datoteke uzastopce:
Izvor: opennet.ru