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

添加评论