Hello, When should i prefer strcmp() above == or !=? I have test it out (see code below). But a == comparison seems to be faster always. First i thought is was cause, if(strcmp($1,$2)!=0), needs two comparisons (strcmp and !=). But even if($1!=$2) is faster then if(strcmp($1,$2)).
Thanks, Bas Jobsen <? function getmicrotime(){ list($usec, $sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); } $t1='hello'; $t2='hello'; $t3='hallo'; ?> 1000x:<? $start=getmicrotime(); for($a=0; $a<100000; $a++) if(strcmp($t1,$t3));//nonmatch echo getmicrotime()-$start; ?> <br> 1000x:<? $start=getmicrotime(); for($a=0; $a<100000; $a++) if($t1!=$t3);//nonmatch echo getmicrotime()-$start; ?> <br> 1000x:<? $start=getmicrotime(); for($a=0; $a<100000; $a++) if(!strcmp($t1,$t3));//match echo getmicrotime()-$start; ?> <br> 1000x:<? $start=getmicrotime(); for($a=0; $a<100000; $a++) if($t1==$t3);//match echo getmicrotime()-$start; ?> <br> 1000x:<? $start=getmicrotime(); for($a=0; $a<100000; $a++) if(strcmp($t1,$t2));//nonmatch echo getmicrotime()-$start; ?> <br> 1000x:<? $start=getmicrotime(); for($a=0; $a<100000; $a++) if($t1!=$t2);//nonmatch echo getmicrotime()-$start; ?> <br> 1000x:<? $start=getmicrotime(); for($a=0; $a<100000; $a++) if(!strcmp($t1,$t2));//match echo getmicrotime()-$start; ?> <br> 1000x:<? $start=getmicrotime(); for($a=0; $a<100000; $a++) if($t1==$t2);//match echo getmicrotime()-$start; ?> <br> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php