No sé exactamente el objeto, algo asi
   
Código HTML:
Ver original- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
- <html xmlns="http://www.w3.org/1999/xhtml"> 
- <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
- <script type="text/javascript"> 
- //<![CDATA[ 
- function tiempo(){ 
- var i = 1; 
-   
- while (i < 10) { 
- var date1 = new Date(); 
- var milisegundos1 = date1.getTime(); 
- //  alert('x'); --> aqui tu función 
- var date2 = new Date(); 
- var milisegundos2 = date2.getTime(); 
- var diff_mseg = milisegundos2 - milisegundos1; 
- document.getElementById('ms').innerHTML += 'bucle ' + i + ': ' + diff_mseg + ' milisegundos<br \/>'; 
- i++ 
- } 
- } 
- setInterval('tiempo()',1000); 
- //]]> 
-   
la función se repite constantemente cada 1 segundo, pero el bucle NO es infinito.
bajale el valor del setTimeout para reducir el tiempo.
el alert debe ser reemplazado por tu función 
con Date() volvemos a tomar los milisegundos para calcular la diferencia  
SAludos