10 个稳定版本
2.0.0 | 2024年1月20日 |
---|---|
1.3.4 | 2023年11月1日 |
1.3.3 | 2023年7月4日 |
1.3.2 | 2022年10月16日 |
0.1.1 | 2018年7月11日 |
#574 在 命令行实用工具
每月下载量 54
21KB
293 代码行
xstream
一个通过分隔符分割流并将其每个部分管道到子进程的命令行工具。
每个块可以管道到新的进程,具有有限的并行性,或者对于令人尴尬的并行处理,可以重用进程。
安装
cargo install xstream-util
基准测试
为了简单说明合理大小流的加速效果,以下简单的基准测试比较了生成 1001 个整数流并将它们相加使用 bc
。
首先,使用以下命令生成一个空分隔符集的流
time for I in {10000..11000}; do seq $I; echo -ne '0\0'; done
此流大约为 50M,使每个流大约为 50k。
然后,我将它管道到 xstream
作为
| time xstream -0 -w '' -- bash -c 'paste -sd+ | bc' > /dev/null
和 xargs
作为
| time xargs -0I@ bash -c '<<< "@" head -n-1 | paste -sd+ | bc' > /dev/null
在我的系统上给出
程序 | 用户 | 系统 | 经过 |
---|---|---|---|
xstream |
10.21秒 | 1.67秒 | 0:09.58 |
xargs |
15.72秒 | 2.85秒 | 0:14.52 |
这个基准测试是一个玩具示例,但 xstream
已经在每个流仅为 50k 时提供了 30% 的加速。
依赖项
~0–11MB
~78K SLoC