Pensé que una respuesta práctica podría ayudar. Estoy optimizando la velocidad de un script que uso que tiene alrededor de 4 pasos. Lo configuré para utilizar métodos de tuberías y sin tuberías. Esto es en Windows 7 de 64 bits.
Tengo un 3% de ralentización por no usar tuberías. Lo cual vale la pena, para mí, porque ahora puedo detenerme entre cada paso y actualizar el título de la ventana, lo que no pude hacer cuando era todo un comando.
Personalmente, tomaré ese 3% de aciertos para los títulos de las ventanas.
Como curiosidad, guardo un archivo de> 20M, y luego lo paso a un script especializado de Perl que modifica los resultados, luego los ordena usando ventanas integradas en SORT.EXE, luego los separa usando UNIQ.EXE de cygwin, luego vuelve a gregar los mismos resultados para obtener grep-result-coloring de ANSI. La mayor parte del tiempo se gasta en la fase de clasificación.
+1: lo único que no responde explícitamente es si esto es lo mismo para Windows y Unix. (Dudo que hubiera una diferencia, pero estaba en la pregunta original.) – OverZealous
@OverZealous: punto justo. Mi respuesta se aplica de manera más confiable a Unix que a Windows. Windows a veces obtiene aproximadamente el mismo resultado de forma ligeramente diferente a Unix, pero creo que mis puntos son válidos en Windows. Estoy menos seguro de que un conducto de Windows nunca involucre escribir en el disco. –