Browse Source

fichier lib/microtime.inc

svn/root/tags/v0.25.0
jluc@no-log.org 4 years ago
parent
commit
7f70d4e242
  1. 1
      .gitattributes
  2. 57
      lib/microtime.inc.php

1
.gitattributes

@ -6,6 +6,7 @@ images/xray-32.png -text
images/xray-64.png -text
images/xray_noun_101572_BY_jluc_and_Hadi_Davodpour.svg -text
lang/paquet-xray_fr.php -text
lib/microtime.inc.php -text
/paquet.xml -text
/plugin.xml -text
prive/themes/spip/images/xray-16.jpg -text

57
lib/microtime.inc.php

@ -0,0 +1,57 @@
<?php
//
// Chronométrage des appels php
function eleg_microtime($time, $unit='') {
$time = round($time, 6);
switch ($unit) {
case 'ms' :
return ($time*1000).' ms';
case 'us' :
case 'µs' :
return ($time*1000000).' µs';
case 's' : nobreak;
return $time.'s';
case '' :
return $time;
}
}
// microtime_do reçoit des commandes et l'unité d'affichage us, ms ou s
// begin : reset
// now : microtime depuis init
// end : now + begin
// last : microtime depuis le dernier appel, sauf now
function microtime_do ($command, $unit='') {
static $u_init = 0;
static $s_init = 0;
static $u_last = 0;
static $s_last = 0;
switch ($command) {
case 'begin' :
case 'init' :
list ($u_last, $s_last) = list ($u_init, $s_init) = explode(' ', microtime());
return 0;
case 'now' :
list ($u_last, $s_last) = explode(' ', microtime());
return eleg_microtime(($s_last - $s_init)+($u_last - $u_init), $unit);
case 'end' :
list ($u_last, $s_last) = explode(' ', microtime());
$res = ($s_last - $s_init)+($u_last - $u_init);
$u_init = $u_last;
$s_init = $s_last;
return eleg_microtime($res, $unit);
case 'last' :
list ($u_now, $s_now) = explode(' ', microtime());
$res = ($s_now - $s_last)+($u_now - $u_last);
$u_last = $u_now;
$s_last = $s_now;
return eleg_microtime($res, $unit);
default :
die ("unknown microtime_do command « $command »");
};
};
Loading…
Cancel
Save