Ver Mensaje Individual
  #18 (permalink)  
Antiguo 19/04/2008, 16:27
Avatar de caricatos
caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 11 meses
Puntos: 1284
Re: Me conviene usar eval aca ?

Hola:

Añado otras pruebas (intentando respetar las anteriores):

Código:
ejecutarPrueba("Con sort() de valores lógicos, tomando el primero", function() {
        return condiciones.sort()[0];
    }
);  

ejecutarPrueba("Con una cadena, concatenando un asterisco por cada false", function() {

        for(var i = 0, elementos = condiciones.length, str = ""; i < elementos; str += (condiciones[i]) ? "": "*", i++)
        return str != "";
    }
);  

ejecutarPrueba("Creando un array con cadenas de 0 y 1 caracter, según condición", function() {
        
        for(var i = 0, elementos = condiciones.length, str = new Array(); i < elementos; str[i] = (condiciones[i]) ? "" : "*", i++)
        return str.join("") != "";
    }
);
Los resultados (junto a los que devuelve mi máquina con las otras pruebas):

Código:
Según Con bucle y devolviendo false si hay false el resultado es false y ha tardado en sacarlo 0 ms.
Según Con indexOf y mirando si existe "false" el resultado es true y ha tardado en sacarlo 265 ms.
Según Con bucle y haciendo valorAcumulado = valorAcumulado && actual el resultado es false y ha tardado en sacarlo 0 ms.
Según Con sort() de valores lógicos, tomando el primero el resultado es false y ha tardado en sacarlo 735 ms.
Según Con una cadena, concatenando un asterisco por cada false el resultado es false y ha tardado en sacarlo 0 ms.
Según Creando un array con cadenas de 0 y 1 caracter, según condición el resultado es false y ha tardado en sacarlo 0 ms.
Intentando interpretar los resultados, vemos que la primitiva sort() de los arrays es lo que más tarda, ya que devolver luego el primer elemento es trivial... y lo que me ha gustado es que creando un array de cadenas ("" y "*") es también de lo más rápido...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo