PaSh shell 腳本平行化系統隸屬於 Linux 基金會

PaSh 專案開發用於並行執行 shell 腳本的工具,該專案宣布將在 Linux 基金會的支持下開展工作,該基金會將提供繼續開發所需的基礎設施和服務。 此專案程式碼根據 MIT 授權分發,包含 Python、Shell、C 和 OCaml 語言的元件。

PaSh 包含 JIT 編譯器、執行時間和註解庫:

  • 運行時提供了一組原語來支援腳本的並行執行。
  • 註解庫定義了一組屬性,這些屬性描述了允許單獨 POSIX 和 GNU Coreutils 命令並行化的情況。
  • 編譯器即時將建議的 Shell 腳本解析為抽象語法樹 (AST),將其分解為適合併行執行的片段,並在此基礎上形成腳本的新版本,其中部分內容可以同時執行。 有關允許並行化的命令的資訊由編譯器從註釋庫取得。 在產生腳本的平行運行版本的過程中,來自運行時的附加構造被插入到程式碼中。

PaSh shell 腳本平行化系統隸屬於 Linux 基金會

例如,處理兩個檔案 f1.md 和 f2.md 的腳本 cat f1.md f2.md | tr AZ az | AZ tr -cs A-Za-z '\n' | 排序| 優衣庫 | comm -13 dict.txt —> 出貓出 | 廁所-l | sed 's/$/ 拼字錯誤的單字!/' 通常會依序處理兩個檔案:

PaSh shell 腳本平行化系統隸屬於 Linux 基金會
當在PaSh的控制下啟動時,它將分成兩個同時執行的線程,每個線程處理自己的檔案:
PaSh shell 腳本平行化系統隸屬於 Linux 基金會


來源: opennet.ru

添加評論