Bien, he terminado de acomodar el código generado en este post y puse un ejemplo onLine. La verdad que el tiempo invertido ha valido la pena. Antes, un par de aclaraciones. Por un lado he definido tres modos de prueba:
Random, todos
True y Todos
False. El título lo dice todo. Por otro, agregué una función más que utiliza el método
contains() de mooTools.
La función resulta sencilla:
Código PHP:
ejecutarPrueba("Utilizando \'contains\' de mootools buscando un elemento \'false\'", function() {
return condiciones.contains ('false');
}
);
El código copiado del fuente del framework del método extendido del objeto array de mootools es el siguiente:
Código PHP:
contains: function(item, from){
return this.indexOf(item, from) != -1;
},
Estos son los links de testeo:
Modo Random. Modo Todos True. Modo Todos False.
Las pruebas son sometidas, como ha definido Derke, en un array de 60000 elementos.
De los datos obtenidos saco como conclusión que
Con una cadena, concatenando un asterisco por cada false y
Creando un array con cadenas de 0 y 1 caracter, según condición resultan ser las más eficientes ya que en mi PC (Linux + FF2) los tiempos son todos 0ms en los tres modos.
Con bucle y devolviendo false si hay false y
Con bucle y haciendo valorAcumulado = valorAcumulado && actual funcionan bien en todos los casos menos en el modo
Todos True.
Los tiempos del método
contains() de mootools son mas o menos los mismos para los distintos modos. De todas formas, este método es más abarcativo. Este es
link de la doc.
Los otros pierden por varios caballos.
Alguien puede poner los valores bajo IE ? (puaj !).
Queda algo mas ?. Saludos.