Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Portada » Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 18 mensajes ]  Ir a página Anterior  1, 2
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Mié Nov 28, 2007 8:00 am
Mensajes: 1457
Ubicación: En la X del explorer (pulse para llamar)

Nota Publicado: Vie Sep 30, 2011 5:14 pm 
Arriba  
No sé cómo habrás hecho el bechmark (si es que se le puede llamar así), pero dichas diferencias no creo que sean adecuadas para escoger al mejor algoritmo.
Supongo que lo que habrás hecho es ejecutar cada código una vez dando un valor de 30 para el día. El problema es que no hay garantías de que dicha porción de código se ejecute una vez, ni de que siempre se vaya a pedir ese día.

En mi opinión, lo que habría que comprobar es la ejecución de la función unas 1000 veces con un valor aleatorio para el día (ya que estamos convirtiendo un valor númerico es fácil realizarlo). La ejecución de las 1000 veces permitiría recoger datos más fiables porque un retraso de 0.2 ms puede haber sido causado por muchas cosas, pero si las diferencias son de 200 ms y 100 ms debería corroborar que dicha diferencia no ha sido "suerte".
La razón de aleatorizar el día es que para el código de nbr_1, el día 30 es el peor caso, pero todo cambiaría si consideramos el día 1 o bien cambiamos el orden de las condiciones forzando a que se compruebe primero el día 30. En este sentido, estás poniendo un handicap muy alto en el código de nbr_1

_________________
Descargue el gestor de mp3 "Music Manager" -> (mmlf)
Última versión del gestor "Music Manager" -> (jmmm)

 Perfil  

Desconectado
Administrador
Administrador
Avatar de Usuario

Registrado: Lun Abr 19, 2010 12:30 am
Mensajes: 3888
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)

Nota Publicado: Vie Sep 30, 2011 5:21 pm 
Arriba  
mmm lo hice en una sola ejecución llamando la clase en el principio deteniéndola luego y mostrando le resultado por último ... luego veo si puedo hacerlo como dices ..

esto fue lo que hice
Código:
<?php
//incluyo el c?digo de la clase stoper
include_once('stoper/class.stoper.php');

//instancio un objeto de la clase stoper
$s = new Stoper();

echo 'Empiezo... mcun <br>';
//ejecuto el m?todo Start() para que el objeto stoper comience a contar el tiempo
$s->Start();
 $f = fopen ("miarchivo.txt", "r");
    $ln= 0;
     $fecha=date("d");
     echo $fecha;
     while ($line= fgets ($f)) {
        $ln++;
        if($ln==$fecha){
            echo '-->'.$line .'<br />';
        }
    }
    fclose ($f);
//paro la cuenta del tiempo por el objeto stoper con el m?todo Stop()
$s->Stop();
//muestro el tiempo que he tardado en hacer las repeticiones
echo $s->showResult('el tiempo de script mcun ').'<br>';   
   
//instancio un objeto de la clase stoper
$s = new Stoper();
echo 'Empiezo... t4rr1t0 <br>';
//ejecuto el m?todo Start() para que el objeto stoper comience a contar el tiempo
$s->Start(); 
$lista_nros="cero|uno|dos|tres|cuatro|cinco|seis|siete|oho|nueve|dies|once|doce|trece|cator|quince|
dies6|dies7|dies8|dies9|veinte|venti1|venti2|venti3|venti4|venti5|venti6|venti7|venti8|venti9|trenta|trenti1";
$nombre_nros=explode("|",$lista_nros);
$f_d = date("d");
echo $nombre_nros[$f_d];
//paro la cuenta del tiempo por el objeto stoper con el m?todo Stop()
$s->Stop();
//muestro el tiempo que he tardado en hacer las repeticiones
echo $s->showResult('el tiempo de script t4rr1t0 ').'<br>';

//instancio un objeto de la clase stoper
$s = new Stoper();
echo 'Empiezo... akodo <br>';
//ejecuto el m?todo Start() para que el objeto stoper comience a contar el tiempo
$s->Start();
function toDateString($day){
  static $days = array("cero", "uno", "dos", "tres","cuatro","cinco","seis","siete","ocho","nueve","dise","once","doce","trece","cator","quin","dis6","dis7","dies8",
"dies9","vainte","veinti1","veinti2","veinti3","veinti4","veinti5","veinti6","veinti7","veinti8","veinti9","treinta","treinta1" );
  return $days[$day];
}
$day = date("d");
echo toDateString($day).'<br />';
//paro la cuenta del tiempo por el objeto stoper con el m?todo Stop()
$s->Stop();
//muestro el tiempo que he tardado en hacer las repeticiones
echo $s->showResult('el tiempo de script akodo ').'<br>';
//instancio un objeto de la clase stoper
$s = new Stoper();
echo 'Empiezo... nbr_1 <br>';
//ejecuto el m?todo Start() para que el objeto stoper comience a contar el tiempo
$s->Start();
$f_d = date("d");
if ($f_d == 01)
{ $fe_txt = primer;
}
if ($f_d == 02)
{ $fe_txt = dos;
}
if ($f_d == 03)
{ $fe_txt = tres;
}
if ($f_d == 04)
{ $fe_txt = cuatro;
}
if ($f_d == 05)
{ $fe_txt = cinco;
}
if ($f_d == 06)
{ $fe_txt = seis;
}
if ($f_d == 07)
{ $fe_txt = siete;
}
if ($f_d == 08)
{ $fe_txt = ocho;
}
if ($f_d == 09)
{ $fe_txt = nueve;
}
if ($f_d == 10)
{ $fe_txt = diez;
}
if ($f_d == 11)
{ $fe_txt = once;
}
if ($f_d == 12)
{ $fe_txt = doce;
}
if ($f_d == 13)
{ $fe_txt = trece;
}
if ($f_d == 14)
{ $fe_txt = catorce;
}
if ($f_d == 15)
{ $fe_txt = quince;
}
if ($f_d == 16)
{ $fe_txt = dieciséis;
}
if ($f_d == 17)
{ $fe_txt = diecisiete;
}
if ($f_d == 18)
{ $fe_txt = dieciocho;
}
if ($f_d == 19)
{ $fe_txt = diecinueve;
}
if ($f_d == 20)
{ $fe_txt = veinte;
}
if ($f_d == 21)
{ $fe_txt = veintiun;
}
if ($f_d == 22)
{ $fe_txt = veintidós;
}
if ($f_d == 23)
{ $fe_txt = veintitrés;
}
if ($f_d == 24)
{ $fe_txt = veinticuatro;
}
if ($f_d == 25)
{ $fe_txt = veinticinco;
}
if ($f_d == 26)
{ $fe_txt = veintiséis;
}
if ($f_d == 27)
{ $fe_txt = veintisiete;
}
if ($f_d == 28)
{ $fe_txt = veintiocho;
}
if ($f_d == 29)
{ $fe_txt = veintinueve;
}
if ($f_d == 30)
{ $fe_txt = treinta;
}
if ($f_d == 31)
{ $fe_txt = "treinta y un";
}

echo $fe_txt .'<br />';

//paro la cuenta del tiempo por el objeto stoper con el m?todo Stop()
$s->Stop();
//muestro el tiempo que he tardado en hacer las repeticiones
echo $s->showResult('el tiempo de script nbr_1 ').'<br>';
?>



.........

_________________
Los programadores de verdad no documentan. La documentación es para los idiotas que no pueden leer un volcado de memoria.

Trusted Network and Developer | Lee el Reglamento !! |WIKI-EL | Twitter @mr_mcun
Debian + TTY | ArchLinux + awesome | openSUSE + Gnome-Shell | Linux User #508809

 Perfil WWW  

Desconectado
Ganador CSEL 2011
Ganador CSEL 2011
Avatar de Usuario

Registrado: Dom Dic 12, 2010 6:07 pm
Mensajes: 357

Nota Publicado: Vie Sep 30, 2011 6:14 pm 
Arriba  
akodo escribió:
Mi opción : similar a la que dice t4rr1t0, pero utilizando un array directamente


Umm, la verdad es que me di una vuelta de más con el explode, andaba volando bajo ese día...

 Perfil WWW  
Mostrar mensajes previos:  Ordenar por  
 [ 18 mensajes ]  Ir a página Anterior  1, 2
Nuevo tema Responder al tema

Saltar a:  


 Temas relacionados   Autor   Respuestas   Vistas   Último mensaje 
Cómo convertir imagen a texto? (solucionado)

en Software

Firu

4

2709

Lun Nov 15, 2010 2:30 am

doc Ver último mensaje

Convertir texto en una tupla o lista (Python)

en Programación

Sergiolocuelo

0

247

Mié Ago 15, 2018 6:41 pm

Sergiolocuelo Ver último mensaje

Convertir .bat a sh ayuda

en Programación

blesther

1

1992

Mié Ene 06, 2010 3:47 pm

ceduardo Ver último mensaje

Convertir archivos MIDI a MP3.

en El Café

Aduburyus

0

960

Lun May 24, 2010 4:40 pm

Aduburyus Ver último mensaje

[MAC] Convertir Videos a formato FLV ?

en El Café

Diabliyo

1

431

Vie Dic 17, 2010 6:03 pm

Deckon Ver último mensaje



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC + 1 hora [ DST ]
Traducción al español por Huan Manwë
phpBB SEO