PaSh-projektet, der udvikler værktøjer til parallel udførelse af shell-scripts, har annonceret overgangen til Linux Foundation, som vil levere den infrastruktur og de tjenester, der er nødvendige for at fortsætte udviklingen. Projektet distribuerer sin kode under MIT-licensen og inkluderer komponenter skrevet i Python, Shell, C og OCaml.
PaSh inkluderer en JIT-kompilator, runtime og et annotationsbibliotek:
- Runtime tilbyder et sæt primitive til støtte for parallel udførelse af scripts.
- Annotationsbiblioteket definerer en række egenskaber, der beskriver situationer, hvor parallel udførelse af enkelte POSIX- og GNU Coreutils-kommandoer er tilladt.
- JIT-kompilatoren analyserer det foreslåede shell-script til et abstrakt syntaks træ (AST), opdeler det i fragmenter, der er egnet til parallel udførelse, og danner på deres basis en ny version af scriptet, hvis dele kan udføres samtidig. Oplysninger om de kommandoer, der tillader parallel udførelse, hentes af kompilatoren fra annotationsbiblioteket. I processen med at generere den parallelt udførte version af scriptet indsættes yderligere konstruktioner fra runtime i koden.

For eksempel vil et script, der behandler to filer f1.md og 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\/$\/ mispelled words!\/’ under normale omstændigheder behandle de to filer sekventielt:


Kilde: opennet.ru
