Use php-timeit to estimate the execution time of php functions. use php-timeitphp. Use php-timeit to estimate the execution time of php functions. If php-timeitphp does not talk much about it, share the timeit function I wrote with you. the specific content is as follows: * ** Computethedelayto use php-timeit to estimate the execution time of the php function, and php-timeitphp
I will share the timeit function I wrote with you. the specific content is as follows:
/** * Compute the delay to execute a function a number of time * @param $count Number of time that the tests will execute the given function * @param $function the function to test. Can be a string with parameters (ex: 'myfunc(123, 0, 342)') or a callback * @return float Duration in seconds (as a float) */function timeit($count, $function) { if ($count <= 0){ echo "Error: count have to be more than zero"; return -1; } $nbargs = func_num_args(); if ($nbargs < 2) { echo 'Error: No Funciton!'; echo 'Usage:'; echo "\ttimeit(count, 'function(param)')"; echo "\te.g:timeit(100, 'function(0,2)')"; return -1; // no function to time } // Generate callback $func = func_get_arg(1); $func_name = current(explode('(', $func)); if (!function_exists($func_name)) { echo 'Error: Unknown Function'; return -1; // can't test unknown function } $str_cmd = ''; $str_cmd .= '$start = microtime(true);'; $str_cmd .= 'for($i=0; $i<'.$count.'; $i++) '.$func.';'; $str_cmd .= '$end = microtime(true);'; $str_cmd .= 'return ($end - $start);'; return eval($str_cmd);}
Test the execution time of a self-written root algorithm and built-in root function as follows:
// Take the square root function sqrt_nd ($ num) {$ value = $ num; while (abs ($ value * $ value-$ num)> 0.001) {$ value = ($ value + $ num/$ value)/2;} return $ value;} print timeit (1000, 'sqrt _ nd (5 )'); print "\ n"; print timeit (1000, 'sqrt (5 )');
The test results are as follows:
0.028280019760132
0.0041000843048096
It can be seen that the built-in root function is more than six times faster than the custom root function ~~
How to check the function execution time in php
The microtime () function in PHP can be implemented
The microtime () function returns the current Unix timestamp and the number of microseconds.
Microtime (get_as_float)
Parameter description
If the get_as_float parameter is given and its value is equivalent to TRUE, this function returns a floating point number.
This function is only available in the operating system that supports the gettimeofday () system call.
For example:
<?php$start_time = microtime(true);for($i=1;$i<=1000;$i++){echo $i.'
';}$end_time = microtime(true);
Echo 'cycle Execution time: '. ($ end_time-$ start_time). s ';
?>
I will share the timeit function I wrote with you. the specific content is as follows:/*** Compute the delay...