Herramienta útil para medir el rendimiento de las operaciones de entrada/salida (I/O) en una tubería. Toma la entrada estándar, la copia a la salida estándar y proporciona estadísticas como el tiempo de lectura/escritura y el rendimiento en términos de velocidad en bytes por segundo.
$ cat archivo_grande | cpipe -vt > /dev/null
$ cat archivo_grande | cpipe -vt | gzip > archivo_grande.gz
$ curl -s http://example.com/archivo_grande | cpipe -vt > archivo_grande
$ dd if=/dev/sdX bs=1M | cpipe -vt > /dev/null
$ cat archivo_grande | cpipe -b 64k -vt > /dev/null
$ cp archivo_grande /ruta/destino | cpipe -vt
$ cat /dev/zero | cpipe -vt > archivo_prueba
$ cat archivo_grande | cpipe -u 1 -vt > /dev/null
Nota.- cpipe genera estadísticas en la salida estándar de error. Por ejemplo:
bufcount: 1024, readtime: 0.123s, writetime: 0.145s, bytes: 1048576, bytes/sec: 7340032
Con los siguientes significados:
bufcount: Número de búferes procesados.
readtime: Tiempo total de lectura.
writetime: Tiempo total de escritura.
bytes: Cantidad total de bytes procesados.
bytes/sec: Velocidad promedio de transferencia.
Otro ejemplo:
$ find /usr -iname network | cpipe -vr -vw -vt > /dev/null
in: 887.446ms at 720B/s ( 720B/s avg) 639B (bsize=639)
out: 0.002ms at 304.7MB/s ( 304.7MB/s avg) 639B
thru: 887.496ms at 720B/s ( 720B/s avg) 639B