phpbar.de logo

Mailinglisten-Archive

[php] Re: Geschwindigkeitsvorteil: eval() vs. unserialize()

[php] Re: Geschwindigkeitsvorteil: eval() vs. unserialize()

Cyrill Schumacher php_(at)_phpcenter.de
Sun, 21 Oct 2001 22:12:00 +0200


>>dürfte klar sein :-)

>Nein ;-)

>Wie macht ihr diese Tests, habt ihr euch dazu ein Script geschrieben
>oder gibt es da irgendwelche Tools oder sonstiges ?

also bitte, so einen blöden test zu machen ist doch einfach ;-)
mir ging es auch hier nicht um speicherverbrauch, sondern
nur, welche fnc schneller ist.
nur eins habe ich festgestellt, dass es fast gleich ist
wenn man eval() vs. str_replace() testet.
ab 5-6 str_replace aufrufe ( = 5-6 zu ersetzende variablen im template)
nacheinander ist es gleich schnell mit eval.

kiri

<pre>
<?php

function utime() {
    $time = explode(' ', microtime());
    return (((double)$time[1]) + ((double)$time[0]));
}

 $var = '$table_html = array(); $table_html[\'bgcolor\'][] = \'#0000a0\';
$table_html[\'bgcolor\'][] = \'#646464\'; $table_html[\'font\'][] =
\'arial\'; $table_html[\'font\'][] = \'verdana\';';

 $start = utime();
 for($i=0;$i<10000;$i++){
  eval($var);
 }

 echo 'Done, takes: '.( utime()-$start )." secs.\n";

 $var2 =
'a:2:{s:7:"bgcolor";a:2:{i:0;s:7:"#0000a0";i:1;s:7:"#646464";}s:4:"font";a:2
:{i:0;s:5:"arial";i:1;s:7:"verdana";}}';


 $start2 = utime();
 for($i=0;$i<10000;$i++){
  $v = unserialize($var2);
 }

 echo 'Done, takes: '.( utime()-$start2 )." secs.\n";

?>
</pre>





php::bar PHP Wiki   -   Listenarchive