'PHPs internal array_diff', 'large_array_diff' => 'Complete Custom', 'flip_isset_diff' => 'Flip one and isset', 'flip_array_diff_key' => 'Flip both and array_diff_key' ); $times = array(); foreach ($methods as $k => $v) { $start = utime(); call_user_func($k, $a, $b); $tm = utime()- $start; $times[$k] = $tm; } fprintf(STDOUT, "%s--%s\n", str_repeat('-', 30), str_repeat('-', 20)); fprintf(STDOUT, "%-30s %s\n", "Name", "Execution Time"); fprintf(STDOUT, "%s--%s\n", str_repeat('-', 30), str_repeat('-', 20)); foreach($methods as $k => $v){ fprintf(STDOUT, "%s--%s\n", str_repeat('-', 30), str_repeat('-', 20)); fprintf(STDOUT, "%-30s %03.3f\n", $v, $times[$k]); } fprintf(STDOUT, "%s--%s\n", str_repeat('-', 30), str_repeat('-', 20)); ?>