Το έργο PaSh, το οποίο αναπτύσσει εργαλεία για παράλληλη εκτέλεση σεναρίων κελύφους, ανακοίνωσε ότι κινείται υπό την αιγίδα του Ιδρύματος Linux, το οποίο θα παρέχει την υποδομή και τις υπηρεσίες που απαιτούνται για τη συνέχιση της ανάπτυξης. Ο κώδικας του έργου διανέμεται υπό την άδεια MIT και περιλαμβάνει στοιχεία σε Python, Shell, C και OCaml.
Το PaSh περιλαμβάνει μεταγλωττιστή JIT, χρόνο εκτέλεσης και βιβλιοθήκη σχολιασμών:
- Το Runtime παρέχει ένα σύνολο πρωτόγονων για την υποστήριξη της παράλληλης εκτέλεσης σεναρίων.
- Η βιβλιοθήκη σχολιασμών ορίζει ένα σύνολο ιδιοτήτων που περιγράφουν καταστάσεις στις οποίες επιτρέπεται η παραλληλοποίηση μεμονωμένων εντολών POSIX και GNU Coreutils.
- Ο μεταγλωττιστής εν κινήσει αναλύει το προτεινόμενο σενάριο Shell σε ένα αφηρημένο δέντρο σύνταξης (AST), το σπάει σε τμήματα κατάλληλα για παράλληλη εκτέλεση και στη βάση τους σχηματίζει μια νέα έκδοση του σεναρίου, μέρη του οποίου μπορούν να εκτελεστούν ταυτόχρονα. Πληροφορίες σχετικά με εντολές που επιτρέπουν την παραλληλοποίηση λαμβάνονται από τον μεταγλωττιστή από τη βιβλιοθήκη σχολίων. Κατά τη διαδικασία δημιουργίας μιας παράλληλης εκτελούμενης έκδοσης του σεναρίου, πρόσθετες δομές από το Runtime εισάγονται στον κώδικα.
Για παράδειγμα, ένα σενάριο που επεξεργάζεται δύο αρχεία f1.md και f2.md cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | ταξινόμηση | uniq | comm -13 dict.txt — > έξω γάτα | wc -l | Το sed 's/$/ ανορθόγραφες λέξεις!/' κανονικά επεξεργαζόταν δύο αρχεία διαδοχικά:
Πηγή: opennet.ru