NodeJS, promessas e desempenho

Minha pergunta é sobre desempenho no meu aplicativo NodeJS ...

Se meu programa executar 12 iterações de 1.250.000 cada = 15.000.000 iterações juntas - serão necessários servidores dedicados na Amazon no seguinte tempo para serem processados:

r3.large: 2 vCPU, 6,5 ECU, 15 GB de memória -> 123 minutos

4.8xlarge: 36 vCPU, 132 ECU, 60 GB de memória -> 102 minutos

Eu tenho algum código semelhante ao código abaixo ...

start();

start(){

  for(var i=0; i<12; i++){

      function2();    // Iterates over a collection - which contains data split up in intervals - by date intervals. This function is actually also recursive - due to the fact - that is run through the data many time (MAX 50-100 times) - due to different intervals sizes...
    }
}

function2(){

  return new Promise{

    for(var i=0; i<1.250.000; i++){       
         return new Promise{      
            function3();      // This function simple iterate through all possible combinations - and call function3 - with all given values/combinations
         }
      }   
   } 
}


function3(){
   return new Promise{ // This function simple make some calculations based on the given values/combination - and then return the result to function2 - which in the end - decides which result/combination was the best...
}}

Isso é igual a 0,411 milissegundo / 441 microssegundo pér iteração!

Quando olho para o desempenho e o uso de memória na barra de tarefas ... a CPU não está funcionando a 100% - mas mais como 50% ... o tempo todo? O uso da memória começa muito baixo - mas MANTENHA crescendo em GB - a cada minuto até o término do processo -, mas a memória (alocada) é lançada pela primeira vez quando pressiono CTRL + C no Windows CMD ... então é como a coleta de lixo do NodeJS não funciona da melhor maneira - ou pode ser simples o design do código novamente ...

Quando executo o aplicativo, uso a memória, como:

nó --max-old-space-size = "50000" server.js

Diga-me tudo o que eu posso fazer - para tornar meu programa mais RÁPIDO!

Obrigado a todos vocês!

questionAnswers(1)

yourAnswerToTheQuestion