Función de llamada recursiva a intervalos regulares

¿Entonces me preguntaba cuál es una mejor manera (en términos de crecimiento de pila y rendimiento) para llamar recursivamente una función a intervalos regulares? Por ejemplo, digamos que quiero leer el contenido del archivo cada 200 ms. Tengo los siguientes dos métodos y me preguntaba si son diferentes.

Método 1: uso de los elementos sin formato setTimeout sin process.nextTick

var fs = require('fs');
(function loop() {
  // Print to time to indicate something is happening
  console.log(new Date().toString());

  // Read a 51MB file
  fs.readFile('./testfile', function (err, data) {
    if (err) console.log(err);
  });

  // Call the same function again
  setTimeout(function () {
    loop();
  }, 200);
})();

Método 2: Llamar a process.nextTick en setTimeout

var fs = require('fs');
(function loop() {
  // Print to time to indicate something is happening
  console.log(new Date().toString());

  // Read a 51MB file
  fs.readFile('./testfile', function (err, data) {
    if (err) console.log(err);
  });

  // Call the same function again
  setTimeout(function () {
    process.nextTick(function () {
      loop();
    });
  }, 200);
})();

Lo que quiero saber es que agregar process.nextTick dentro de setTimeout ayuda o no? ¿Llamar a la función dentro de process.nextTick aliviará el uso de la pila o no?

Respuestas a la pregunta(1)

Su respuesta a la pregunta