O proxecto PaSh, que desenvolve ferramentas para a execución paralela de scripts de shell, anunciou que se move baixo os auspicios da Fundación Linux, que proporcionará a infraestrutura e os servizos necesarios para continuar o desenvolvemento. O código do proxecto distribúese baixo a licenza MIT e inclúe compoñentes en Python, Shell, C e OCaml.
PaSh inclúe un compilador JIT, tempo de execución e biblioteca de anotacións:
- Runtime proporciona un conxunto de primitivos para soportar a execución paralela de scripts.
- A biblioteca de anotacións define un conxunto de propiedades que describen situacións nas que se permite a paralelización de ordes individuais de POSIX e GNU Coreutils.
- O compilador sobre a marcha analiza o script Shell proposto nunha árbore de sintaxe abstracta (AST), divídeo en fragmentos axeitados para a execución paralela e, sobre a súa base, forma unha nova versión do script, cuxos partes poden executarse simultaneamente. A información sobre os comandos que permiten a paralelización é tomada polo compilador da biblioteca de anotacións. No proceso de xerar unha versión en execución paralela do script, insírense no código construcións adicionais de Runtime.
Por exemplo, un script que procesa dous ficheiros f1.md e f2.md cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | ordenar | único | comm -13 dict.txt — > fóra gato fóra | wc -l | sed 's/$/ palabras mal escritas!/' normalmente procesaría dous ficheiros secuencialmente:
Fonte: opennet.ru