Mercurial > hg > isophonics-drupal-site
comparison vendor/squizlabs/php_codesniffer/src/Util/Timing.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:21:36 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
16:c2387f117808 | 17:129ea1e6d783 |
---|---|
1 <?php | |
2 /** | |
3 * Timing functions for the run. | |
4 * | |
5 * @author Greg Sherwood <gsherwood@squiz.net> | |
6 * @copyright 2006-2015 Squiz Pty Ltd (ABN 77 084 670 600) | |
7 * @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence | |
8 */ | |
9 | |
10 namespace PHP_CodeSniffer\Util; | |
11 | |
12 class Timing | |
13 { | |
14 | |
15 /** | |
16 * The start time of the run. | |
17 * | |
18 * @var float | |
19 */ | |
20 private static $startTime; | |
21 | |
22 /** | |
23 * Used to make sure we only print the run time once per run. | |
24 * | |
25 * @var boolean | |
26 */ | |
27 private static $printed = false; | |
28 | |
29 | |
30 /** | |
31 * Start recording time for the run. | |
32 * | |
33 * @return void | |
34 */ | |
35 public static function startTiming() | |
36 { | |
37 | |
38 self::$startTime = microtime(true); | |
39 | |
40 }//end startTiming() | |
41 | |
42 | |
43 /** | |
44 * Print information about the run. | |
45 * | |
46 * @param boolean $force If TRUE, prints the output even if it has | |
47 * already been printed during the run. | |
48 * | |
49 * @return void | |
50 */ | |
51 public static function printRunTime($force=false) | |
52 { | |
53 if ($force === false && self::$printed === true) { | |
54 // A double call. | |
55 return; | |
56 } | |
57 | |
58 if (self::$startTime === null) { | |
59 // Timing was never started. | |
60 return; | |
61 } | |
62 | |
63 $time = ((microtime(true) - self::$startTime) * 1000); | |
64 | |
65 if ($time > 60000) { | |
66 $mins = floor($time / 60000); | |
67 $secs = round((($time % 60000) / 1000), 2); | |
68 $time = $mins.' mins'; | |
69 if ($secs !== 0) { | |
70 $time .= ", $secs secs"; | |
71 } | |
72 } else if ($time > 1000) { | |
73 $time = round(($time / 1000), 2).' secs'; | |
74 } else { | |
75 $time = round($time).'ms'; | |
76 } | |
77 | |
78 $mem = round((memory_get_peak_usage(true) / (1024 * 1024)), 2).'MB'; | |
79 echo "Time: $time; Memory: $mem".PHP_EOL.PHP_EOL; | |
80 | |
81 self::$printed = true; | |
82 | |
83 }//end printRunTime() | |
84 | |
85 | |
86 }//end class |