eval:493.32308769226 call_user_func:151.40509605408 call with array:215.23499488831//slower to pass array as param call direct:72.86810874939
user_data::friends();//make sure class is loaded (misc function)
//eval compared to call_user_func
$t0 = microtime(true);
for($i=0;$i<100000;$i++){
call_user_func(array('user_data','friends'));
}
$ms0 = (microtime(true)-$t0)*1000;
$t1 = microtime(true);
for($i=0;$i<100000;$i++){
call_user_func('user_data::friends');
}
$ms1 = (microtime(true)-$t1)*1000;
$t2 = microtime(true);
for($i=0;$i<100000;$i++){
eval('user_data::friends();');
}
$ms2 = (microtime(true)-$t2)*1000;
$t3 = microtime(true);
for($i=0;$i<100000;$i++){
user_data::friends();
}
$ms3 = (microtime(true)-$t3)*1000;
exit('eval:'.$ms2.'
call_user_func:'.$ms1.'
call with array:'.$ms0.'
call direct:'.$ms3);
strpos: 166.40710830688 in_array: 358.41298103333 isset: 33.149003982544 array_key_exists: 88.949918746948
$letters = 'abcdefghijklmnopqurstuvwxyz';
$letter_array = str_split($letters,1);
$letter_assoc = array_flip($letter_array);
$t1 = microtime(true);
for($i=0;$i<=10000;$i++){
foreach($letter_array as $l){
if(strpos($letters,$l)!==false){
}
}
}
$ms1 = (microtime(true)-$t1)*1000;
$t2 = microtime(true);
for($i=0;$i<=10000;$i++){
foreach($letter_array as $l){
if(in_array($l,$letter_array)){
}
}
}
$ms2 = (microtime(true)-$t2)*1000;
$t3 = microtime(true);
for($i=0;$i<=10000;$i++){
foreach($letter_array as $l){
if(isset($letter_array[$l])){
}
}
}
$ms3 = (microtime(true)-$t3)*1000;
$t4 = microtime(true);
for($i=0;$i<=10000;$i++){
foreach($letter_array as $l){
if(array_key_exists($l,$letter_array)){
}
}
}
$ms4 = (microtime(true)-$t4)*1000;
echo "strpos: $ms1
";
echo "in_array: $ms2
";
echo "isset: $ms3
";
echo "array_key_exists: $ms4
";