Oops, thanks for your help, guys, with the idea that you can formulate the following:
I caught the with var tempoInicio = getTime(); the start of the execution and with var tempoFim = getTime(); the end of it.
// Pega tempo
function getTime(){
    var horaInicio      = new Date();
    var minutos         = horaInicio.getMinutes();
    var segundos        = horaInicio.getSeconds();
    var milisegundos    = horaInicio.getMilliseconds();
    var arrTempo = [minutos, segundos, milisegundos];
    var tempo = arrTempo.join();
    return tempo;
}
With the 2 start and end data, send per parameter to the time processing in the following function: 
// Calcula Tempo de Execução
function tempoExecucao(tempoInicio, tempoFim){
    var tempoInicioCalc = tempoInicio.split(",");
    var tempoFinalCalc = tempoFim.split(",");
    // calculo do tempo
    var calcMinuto          = tempoFinalCalc[0]-tempoInicioCalc[0];
    var calcSegundo         = tempoFinalCalc[1]-tempoInicioCalc[1];
    var calcMilisegundos    = tempoFinalCalc[2]-tempoInicioCalc[2];
    // une em uma array
    var tempoCalc = [calcMinuto, calcSegundo, calcMilisegundos];
    // une em uma string
    tempoCalc.join();
    return tempoCalc;
}
But it will have a small problem in ms because the sum can give negative values, then implementing this function to complement.
function trataTempoNegativo(trataTempo){
    if(trataTempo[2] < 0){
        var tratadoTempo= [];
        tratadoTempo[0] = trataTempo[0];
        tratadoTempo[1] = trataTempo[1];
        tratadoTempo[2] = trataTempo[2]+1000;
        return tratadoTempo;
    }
    return trataTempo;
}
Thanks again! 
							
							
						 
But that doesn’t give you more precision than milliseconds! That’s not what you wanted?
– bfavaretto