He estado investigando un poco más sobre el asunto y me ratifico en mi comentario. No hay ningún lenguaje que permita editar archivos directamente sobre los archivos, cuando parece hacerse así en realidad se está creando un nuevo archivo que sobreescribe el de partida por lo que el esquema de trabajo que te propuse (leer línea de archivo de entrada, comprobar longitud de la línea, escribir en archivo de salida si supera la longitud) creo que valdría para cualquier lenguaje de programación. Otra cosa es la rapidez con la que hagan el proceso los "productos" obtenidos con cada lenguaje.
A modo de ejemplo te sugiero que pruebes con Powershell, la potente nueva shell de los entornos Windows (y creo que poco conocida). Yo la he usado poco pero siempre he obtenido buenos resultados. Este comando, escrito directamente en una ventana de Powershell, podría conseguir el resultado que se busca:
Get-Content .\entrada.txt | where {$_.length -ge 72} | Out-File .\salida.txt
Para abrir una ventana de Powershell solo tienes que teclear "powershell" en la casilla de "Ejecutar" del Windows que utilices (a partir de Windows XP). Mira a ver si se reducen los tiempos de esa manera. El ".\" que precede a los nombres de archivo puede no ser necesario, dependiendo de los permisos del usuario utilizado.