Home >Backend Development >PHP Tutorial >Detect incompatible keyboard drivers Globally record the running time of program fragments Correctly find breakpoints where program logic takes a long time
Copy the code The code is as follows:
//Define global variables to record time
$_timer_id = 0;
//Function sets global variables to record the running time of each breakpoint
function makeTimer( $notes, $ )
{
if( $onOff )
{
global $_timer_id;
$GLOBALS['timer'][$_timer_id][0] = microtime(TRUE);
$GLOBALS['timer'][$_timer_id][ 1] = $notes;
$_timer_id++;
}
}
// Output the global running time
function traceTimer()
{
$timer_str = '';
$G_timer = count($GLOBALS['timer'] )-1;
if( $G_timer>0 )
{
for( $i=0;$i<$G_timer;$i++ )
{
$dif_time = number_format( ($GLOBALS['timer'][$i +1][0] - $GLOBALS['timer'][$i][0]), 3 );
$timer_str .= 'dif: '.$dif_time.' '.$GLOBALS['timer'][ $i][1]."n";
}
$dif_time = number_format( (microtime(TRUE) - $GLOBALS['timer'][$G_timer][0]), 3 );
$timer_str .= ' dif: '.$dif_time.' '.$GLOBALS['timer'][$G_timer][1]."n";
}
return $timer_str;
}
Usage:
//Start time
makeTimer( ' LINE:'.__LINE__ );
$imgstrpos = strpos($str, 'makeTimer( ' LINE:'.__LINE__ );
$str_p = substr($str_noimg, 0, $ imgstrpos);
makeTimer( ' LINE:'.__LINE__ );
$str_n = substr($str_noimg, $imgstrpos, strlen($str_noimg));
makeTimer( ' LINE:'.__LINE__ );
$pst_exc_imgs = $str_p .''.$str_n." ";
makeTimer( ' LINE:'.__LINE__ );
// Record to log
error_log( traceTimer(), 3, '/ tmp/'.basename(__FILE__).'.log' );
// Or output directly
echo traceTimer();
The above introduces the detection of an incompatible keyboard driver, global recording of the running time of program fragments, and the correct finding of breakpoints that take a long time in the program logic, including the detection of an incompatible keyboard driver. I hope you are interested in the PHP tutorial. Friends help.