Reemplazar las primeras N ocurrencias en la cadena

¿Cómo puedo reemplazar primeroN ocurrencias de muchos espacios en blanco y tabulaciones en la siguiente cadena:

07/12/2017  11:01 AM             21523 filename with s p a c  e  s.js

Espero el siguiente resultado:

07/12/2017|11:01|AM|21523|filename with s p a c  e  s.js

Sé que no es una opción muy elegante solo llamando a reemplazarN veces en la misma cuerda

.replace(/\s+/, "|").replace(/\s+/, "|").replace(/\s+/, "|");

Vale la pena mencionar que voy a ejecutar esto en cerca de 1,000,000 de líneas, por lo que el rendimiento es importante.

Respuestas a la pregunta(6)

Su respuesta a la pregunta