Projekt PaSh, ktorý vyvíja nástroje na paralelné vykonávanie shell skriptov, oznámil, že prechádza pod záštitu Linux Foundation, ktorá bude poskytovať infraštruktúru a služby potrebné na pokračovanie vývoja. Kód projektu je distribuovaný pod licenciou MIT a obsahuje komponenty v jazykoch Python, Shell, C a OCaml.
PaSh obsahuje JIT kompilátor, runtime a knižnicu anotácií:
- Runtime poskytuje sadu primitív na podporu paralelného vykonávania skriptov.
- Knižnica anotácií definuje množinu vlastností, ktoré popisujú situácie, v ktorých je povolená paralelizácia jednotlivých príkazov POSIX a GNU Coreutils.
- Kompilátor za behu analyzuje navrhovaný skript Shell do abstraktného stromu syntaxe (AST), rozdelí ho na fragmenty vhodné na paralelné vykonávanie a na ich základe vytvorí novú verziu skriptu, ktorej časti možno vykonávať súčasne. Informácie o príkazoch, ktoré umožňujú paralelizáciu, preberá kompilátor z knižnice anotácií. V procese generovania paralelne bežiacej verzie skriptu sa do kódu vkladajú ďalšie konštrukcie z Runtime.
Napríklad skript, ktorý spracováva dva súbory f1.md a f2.md cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | triediť | uniq | comm -13 dict.txt — > von makať | wc -l | sed 's/$/ nesprávne napísané slová!/' by normálne spracoval dva súbory postupne:
Zdroj: opennet.ru