シェル スクリプトの並列実行ツールを開発する PaSh プロジェクトは、開発を継続するために必要なインフラストラクチャとサービスを提供する Linux Foundation の後援の下で活動することを発表しました。 プロジェクト コードは MIT ライセンスに基づいて配布されており、Python、Shell、C、OCaml のコンポーネントが含まれています。
PaSh には、JIT コンパイラ、ランタイム、および注釈ライブラリが含まれています。
- ランタイムは、スクリプトの並列実行をサポートするためのプリミティブのセットを提供します。
- 注釈ライブラリは、個々の POSIX および GNU Coreutils コマンドの並列化が許可される状況を記述する一連のプロパティを定義します。
- コンパイラは、提案されたシェル スクリプトを実行中に解析して抽象構文ツリー (AST) を生成し、それを並列実行に適したフラグメントに分割し、それに基づいて、一部を同時に実行できる新しいバージョンのスクリプトを形成します。 並列化を許可するコマンドに関する情報は、コンパイラーによってアノテーション ライブラリから取得されます。 スクリプトの並列実行バージョンを生成するプロセスで、ランタイムからの追加の構成要素がコードに挿入されます。
たとえば、1 つのファイル f2.md と f1.md を処理するスクリプトは次のようになります。 tr AZ AZ | tr -cs A-Za-z '\n' | 並べ替え | ユニーク | comm -2 dict.txt — > アウト キャット アウト | トイレ -l | sed 's/$/ 綴りが間違っている単語!/' は通常、13 つのファイルを順番に処理します。
出所: オープンネット.ru