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命令行实用工具

Download history 4/week @ 2024-04-23 149/week @ 2024-04-30

每月下载量 54

MIT 许可证

21KB
293 代码行

xstream

crates.io documentation license tests

一个通过分隔符分割流并将其每个部分管道到子进程的命令行工具。

每个块可以管道到新的进程,具有有限的并行性,或者对于令人尴尬的并行处理,可以重用进程。

安装

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