De PaSh-Projet, deen Tools fir d'parallel Ausféierung vu Shell-Skripte entwéckelt, huet ugekënnegt datt et ënner der Leedung vun der Linux Foundation bewegt, déi d'Infrastruktur an d'Servicer ubitt fir d'Entwécklung weiderzeféieren. De Projet Code gëtt ënner der MIT Lizenz verdeelt an enthält Komponenten am Python, Shell, C an OCaml.
PaSh enthält e JIT Compiler, Runtime an Annotatiounsbibliothéik:
- Runtime bitt eng Rei vu Primitiv fir d'parallel Ausféierung vu Skripte z'ënnerstëtzen.
- D'Annotatiounsbibliothéik definéiert eng Rei vun Eegeschaften, déi Situatiounen beschreiwen, an deenen d'Parallaliséierung vun eenzelne POSIX- a GNU Coreutils Kommandoen erlaabt ass.
- De Compiler op der Flucht parséiert de proposéierte Shell Skript an en abstrakte Syntaxbaum (AST), brécht et a Fragmenter gëeegent fir parallel Ausféierung, a bildt op hirer Basis eng nei Versioun vum Skript, Deeler vun deem gläichzäiteg ausgefouert kënne ginn. Informatioun iwwer Kommandoen déi Paralleliséierung erlaben gëtt vum Compiler aus der Annotatiounsbibliothéik geholl. Am Prozess fir eng parallel lafend Versioun vum Skript ze generéieren, ginn zousätzlech Konstrukte vu Runtime an de Code agebaut.
Zum Beispill, e Skript deen zwee Fichieren f1.md an f2.md cat f1.md f2.md veraarbecht | tr AZ az | tr -cs A-Za-z '\n' | sortéieren | eenzegaarteg | comm -13 dict.txt - > eraus Kaz eraus | wc -l | sed 's/$/ falsch geschriwwe Wierder!/' géifen normalerweis zwee Dateien sequenziell veraarbecht:
Source: opennet.ru