Die PaSh-projek, wat gereedskap ontwikkel vir parallelle uitvoering van dopskrifte, het aangekondig dat dit onder die vaandel van die Linux-stigting beweeg, wat die infrastruktuur en dienste sal verskaf wat nodig is om voort te gaan met ontwikkeling. Die projekkode word onder die MIT-lisensie versprei en sluit komponente in Python, Shell, C en OCaml in.
PaSh bevat 'n JIT samesteller, looptyd en annotasie biblioteek:
- Runtime bied 'n stel primitiewe om parallelle uitvoering van skrifte te ondersteun.
- Die annotasiebiblioteek definieer 'n stel eienskappe wat situasies beskryf waarin parallelisering van individuele POSIX- en GNU Coreutils-opdragte toegelaat word.
- Die samesteller ontleed die voorgestelde Shell-skrif in 'n abstrakte sintaksboom (AST), breek dit op in fragmente wat geskik is vir parallelle uitvoering, en vorm op grond daarvan 'n nuwe weergawe van die skrif, waarvan dele gelyktydig uitgevoer kan word. Inligting oor opdragte wat parallellisering toelaat, word deur die samesteller uit die annotasiebiblioteek geneem. In die proses om 'n parallellopende weergawe van die skrip te genereer, word bykomende konstrukte van Runtime in die kode ingevoeg.
Byvoorbeeld, 'n skrip wat twee lΓͺers f1.md en f2.md kat f1.md f2.md verwerk | tr AZ az | tr -cs A-Za-z '\n' | sorteer | uniek | comm -13 dict.txt β > uit kat uit | wc -l | sed 's/$/ verkeerd gespelde woorde!/' sal gewoonlik twee lΓͺers opeenvolgend verwerk:
Bron: opennet.ru