Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: basickdagger en 13 Marzo 2014, 01:29 am



Título: es más rapido echo que concatenar?
Publicado por: basickdagger en 13 Marzo 2014, 01:29 am
bueno estaba probando un formulario bastante extenso, y he notado que es un poco lento, e investigando encontre en una web donde explican que es más rapido ejecutar varios echo que concatenar toda una cadena...

según ellos es más rapido hacerlo de la primer manera que de la segunda, que tan cierto es esto?
 
Código
  1. echo "hola ";echo $user;
  2.  
  3. echo "hola ".$user;
  4.  
el simple hecho de estar escribiendo echo para cada valor me vuelve loco xD

saludos!


Título: Re: es más rapido echo que concatenar?
Publicado por: #!drvy en 13 Marzo 2014, 01:44 am
http://dan.doezema.com/2011/07/php-output-profiling-echo-vs-concat/

(http://dan.doezema.com/images/output_profile_graph_10_100.png)

Dicho de otra forma, a la corta (en escala pequeña) varios echo son mas rápidos que un concat. Pero a la larga es mejor usar concat.


Algo que pocos saben es que...
Código
  1. echo "hola",$user;

Gana a ambos :P

Saludos


Título: Re: es más rapido echo que concatenar?
Publicado por: engel lex en 13 Marzo 2014, 01:49 am
no se... yo lo pruebo y aqui está mi codigo...


Código
  1.  $a = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. ";
  2.  $a = $a.$a.$a.$a.$a.$a.$a.$a.$a;
  3.  
  4.  $a = explode(" ",$a);
  5.  
  6.  echo "solo concatenado<span style='display:none>'";
  7.  $b="";
  8.  $time_start = microtime(true);
  9.  foreach($a as $palabra){
  10.    $b .= $palabra . " ";
  11.  }
  12.  echo $b;
  13.  echo "</span><br>";
  14.  echo ((microtime(true)-$time_start)*1000);
  15.  echo "<br><br>";
  16.  
  17.  echo "echo con el espacio concatenado<span style='display:none>'";
  18.  $b="";
  19.  $time_start = microtime(true);
  20.  foreach($a as $palabra){
  21.    echo ($palabra . " ");
  22.  }
  23.   echo "</span><br>";
  24.  echo ((microtime(true)-$time_start)*1000);
  25.  echo "<br><br>";
  26.  
  27.  
  28.  echo "solo echo<span style='display:none>'";
  29.  $b="";
  30.  $time_start = microtime(true);
  31.  foreach($a as $palabra){
  32.    echo $palabra;
  33.    echo " ";
  34.  }
  35.  echo "</span><br>";
  36.  echo ((microtime(true)-$time_start)*1000);
  37.  echo "<br><br>";


me dice que concatenado es mucho más rapido