2010-05-10 13 views

Respuesta

33

Nicholas C. Zakas writes in his blog:

  • Internet Explorer 7: 1789
  • Firefox 3: 3000
  • cromo 1: 21.837
  • Opera 9.62: 10.000
  • Safari 3.2: 500

Hay más datos sobre diferentes navegadores y sistemas operativos here.

He creado una prueba de Browserscope para obtener más fecha. Please run it here.

+1

Tiré esto después de una lectura MUY rápida del artículo: http://jsfiddle.net/TdWTs/ – endemic

+0

@endemic Buen trabajo. Hice un buscador para el problema en http://adamrich.name/recursion.html. Si podemos hacer que mucha gente realice la prueba, podríamos obtener una tabla actualizada de límites de recusrión por navegador y sistema operativo. – Adam

+0

Mis habilidades de comprensión de lectura necesitan más trabajo ... salté por completo la parte en la que ya había realizado la prueba de Browserscope. Lo ejecuté con algunos navegadores, ¡sorprendentemente Chrome tiene el límite más bajo! Oh, bueno, un compañero de trabajo estaba preocupado por unos cientos de iteraciones recursivas (wat), por lo tanto, mi interés en encontrar la verdad. – endemic

10

Para agregar a las respuestas aquí, esto también puede depender de las funciones involucradas en la recursión. Por ejemplo, sólo añadir unos parámetros a la función puede cambiar el resultado:

var i=0; 
function inc() { 
    i++; 
    inc(); 
} 
inc(); 

me da 20923, pero

var i=0; 
function inc(j, k, l) { 
    i++; 
    inc(l, k, j); 
} 
inc(1, 2, 3); 

informa 13949 (probado en la consola en Chromium 39). Firefox 34 da 25085 y 13572, respectivamente.

Añadiendo un bloque try/catch alrededor del cuerpo del argumento cero inc() da 11413 cuadros en Chromium y 13161 en Firefox. Con los 3 argumentos y el bloque try/catch, 8967 en Chrome y 7517 en Firefox.

Mi conclusión a partir de esto es que una aplicación que funciona cerca de la profundidad de la pila en un navegador probablemente solo pueda resolver esto basándose en mediciones empíricas de funciones similares a las utilizadas en la aplicación.

Cuestiones relacionadas