Sistemi i parallelizimit të skripteve shell PaSh ka kaluar nën mbështetje të Fondacionit Linux

Проект PaSh, развивающий инструменты для параллельного выполнения shell-скриптов, объявил о переходе под покровительство организации Linux Foundation, которая предоставит инфраструктуру и сервисы, необходимые для продолжения разработки. Код проекта распространяется под лицензией MIT и включает компоненты на языках Python, Shell, C и OCaml.

PaSh включает JIT-компилятор, runtime и библиотеку аннотаций:

  • Runtime предоставляет набор примитивов для поддержки параллельного выполнения скирптов.
  • Библиотека аннотаций определяет набор свойств, описывающих ситуации в которых допускается распараллеливание отдельных команд POSIX и GNU Coreutils.
  • Компилятор на лету разбирает предложенный Shell-скрипт в абстрактное синтаксическое дерево (AST), разбивает на фрагменты, пригодные для параллельного выполнения, и формирует на их основе новый вариант скрипта, части которого могут выполняться одновременно. Информация о командах, которые допускают распараллеливания, берётся компилятором из библиотеки аннотаций. В процессе генерации параллельно выполняемого варианта скрипта в код подставляются дополнительные конструкции из Runtime.

Sistemi i parallelizimit të skripteve shell PaSh ka kaluar nën mbështetje të Fondacionit Linux

Например, скрипт, обрабатывающий два файла f1.md и 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!/’ в обычных условиях обработает два файла последовательно:

Sistemi i parallelizimit të skripteve shell PaSh ka kaluar nën mbështetje të Fondacionit Linux
а при запуске под управлением PaSh будет разбит на два одновременно выполняемых потока, каждый из которых обрабатывает свой файл:
Sistemi i parallelizimit të skripteve shell PaSh ka kaluar nën mbështetje të Fondacionit Linux


Burimi: opennet.ru
Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster