cpipe - 云端在线

这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 cpipe,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


cpipe - 将标准输入复制到标准输出,同时计算字节数和报告进度

概要


管道 [-b bsize] [-vt] [-vr] [-vw] [-ngr] [-s 速度]

配置


-b 缓冲区大小(以 kB 为单位),
1 介于 1 和 oo 之间的 Int 值。
默认值:'128'

-vt 显示吞吐量。

-vr 显示读取时间。

-vw 显示写入时间。

-ngr 非贪婪读取。 在开始写入之前不要在读取时强制执行完整的缓冲区。

-s 以 kB/s 为单位的吞吐速度限制,
1 1 和 oo 之间的双精度值。

商品描述


管道 将它的标准输入复制到它的标准输出,同时测量它所花费的时间
读取输入缓冲区并写入输出缓冲区。 如果其中一项或多项 -vx 选项是
给定,打印平均吞吐量的统计数据和复制的总字节数
到标准错误输出。

不刻字 贪婪 阅读
通常,cpipe 会尽力完全填充其缓冲区(选项 -b) 在它开始之前
写作。 然而,在某些情况下,例如,如果您通过 cpipe 与交互式程序交谈,
这使通信死锁:所述程序等待它永远不会看到的输入,
因为输入卡在 cpipe 的缓冲区中。 但是cpipe本身不会看到更多的输入
在程序没有响应之前。

要解决此问题,请尝试使用 -ngr. 当发出读调用时,cpipe 满足如下
一旦它获得至少一个字节。 它不会填充缓冲区,而是停止读取并
将它得到的任何内容写入输出。 但是请注意,吞吐量测量将
如果在一个读/写对中传输的字节数变小,则不太准确,
因为 cpipe 会在每个字节上花费相对更多的时间。

限制 生产能力
如果使用选项指定了吞吐量限制 -s, 管道 电话 使用睡眠(3) 中间
复制缓冲区,从而人为地延长读/写周期的持续时间。 自从
在大多数系统上,usleep() 睡眠有一定的最短时间,例如 0.01s,它是
不可能用小缓冲区大小达到高限制。 在这种情况下增加
缓冲区大小(选项 -b) 可能有帮助。 但是,请记住,这会限制吞吐量
仅在平均水平上。 尽可能快地复制每个缓冲区。


命令
焦油 cCf / - usr | cpipe -vr -vw -vt > /dev/null
结果像这样的输出
...
输入:19.541 毫秒,速度为 6.4MB/秒(平均 4.7MB/秒)2.0MB
输出:0.004ms at 30.5GB/s (27.1GB/s avg) 2.0MB
直通:19.865ms at 6.3MB/s (4.6MB/s avg) 2.0MB
...
第一 显示处理一个数据缓冲区所需的时间(默认为 128kB)。
读取调用耗时 19.541 毫秒,对 /dev/null 的写入调用仅耗时 0.004 毫秒,从
从读取开始到写入结束,耗时 19.865ms。

第二 显示将缓冲区大小(默认为 128kB)除以
第一列中的次数。

第三 包含从开始的所有测量值的平均值
程序。

最后,该 最后 显示传输的总字节数,这当然是
阅读和写作也是如此。

使用 onworks.net 服务在线使用 cpipe



最新的 Linux 和 Windows 在线程序