Chamando a função recursivamente em intervalos regulares

Então, eu estava me perguntando qual seria a melhor maneira (em termos de crescimento e desempenho da pilha) de chamar recursivamente uma função em intervalos regulares? Por exemplo, digamos que eu queira ler o conteúdo do arquivo a cada 200 ms. Eu tenho os dois métodos a seguir e queria saber se eles são diferentes?

Método 1: Usando ols simples setTimeout sem 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: Chamando process.nextTick dentro de 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);
})();

O que eu quero saber é que adicionando process.nextTick dentro de setTimeout ajuda ou não? Chamar a função dentro de process.nextTick irá aliviar o uso da pilha ou não?

questionAnswers(1)

yourAnswerToTheQuestion