Skip to content

Commit 6d87e12

Browse files
committed
Start using Timing class in more places
... which allows for removing some duplicate code and streamlining consistent display of timing information.
1 parent a99e29e commit 6d87e12

File tree

6 files changed

+19
-41
lines changed

6 files changed

+19
-41
lines changed

.github/workflows/build-phar.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ on:
1616
- 'src/Exceptions/RuntimeException.php'
1717
- 'src/Exceptions/TokenizerException.php'
1818
- 'src/Tokenizers/PHP.php'
19+
- 'src/Util/Timing.php'
1920
- 'src/Util/Tokens.php'
2021
pull_request:
2122
paths:
@@ -27,6 +28,7 @@ on:
2728
- 'src/Exceptions/RuntimeException.php'
2829
- 'src/Exceptions/TokenizerException.php'
2930
- 'src/Tokenizers/PHP.php'
31+
- 'src/Util/Timing.php'
3032
- 'src/Util/Tokens.php'
3133

3234
# Allow manually triggering the workflow.

scripts/build-phar.php

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
use PHP_CodeSniffer\Exceptions\RuntimeException;
1818
use PHP_CodeSniffer\Exceptions\TokenizerException;
1919
use PHP_CodeSniffer\Tokenizers\PHP;
20+
use PHP_CodeSniffer\Util\Timing;
2021
use PHP_CodeSniffer\Util\Tokens;
2122

2223
error_reporting(E_ALL);
@@ -78,7 +79,7 @@ function stripWhitespaceAndComments($fullpath, $config)
7879
}//end stripWhitespaceAndComments()
7980

8081

81-
$startTime = microtime(true);
82+
$timer = new Timing();
8283

8384
$scripts = [
8485
'phpcs',
@@ -170,14 +171,7 @@ function stripWhitespaceAndComments($fullpath, $config)
170171
echo 'done'.PHP_EOL;
171172
}//end foreach
172173

173-
$timeTaken = ((microtime(true) - $startTime) * 1000);
174-
if ($timeTaken < 1000) {
175-
$timeTaken = round($timeTaken);
176-
echo "DONE in {$timeTaken}ms".PHP_EOL;
177-
} else {
178-
$timeTaken = round(($timeTaken / 1000), 2);
179-
echo "DONE in $timeTaken secs".PHP_EOL;
180-
}
174+
$timer->printRunTime();
181175

182176
echo PHP_EOL;
183177
echo 'Filesize generated phpcs.phar file: '.filesize(dirname(__DIR__).'/phpcs.phar').' bytes'.PHP_EOL;

src/Files/File.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use PHP_CodeSniffer\Ruleset;
1717
use PHP_CodeSniffer\Tokenizers\PHP;
1818
use PHP_CodeSniffer\Util\Common;
19+
use PHP_CodeSniffer\Util\Timing;
1920
use PHP_CodeSniffer\Util\Tokens;
2021
use PHP_CodeSniffer\Util\Writers\StatusWriter;
2122

@@ -449,7 +450,7 @@ public function process()
449450
$this->activeListener = $class;
450451

451452
if ($this->configCache['trackTime'] === true) {
452-
$startTime = microtime(true);
453+
$timer = new Timing();
453454
}
454455

455456
if (PHP_CODESNIFFER_VERBOSITY > 2) {
@@ -462,7 +463,7 @@ public function process()
462463
}
463464

464465
if ($this->configCache['trackTime'] === true) {
465-
$timeTaken = (microtime(true) - $startTime);
466+
$timeTaken = $timer->getDuration();
466467
if (isset($this->listenerTimes[$this->activeListener]) === false) {
467468
$this->listenerTimes[$this->activeListener] = 0;
468469
}
@@ -471,8 +472,7 @@ public function process()
471472
}
472473

473474
if (PHP_CODESNIFFER_VERBOSITY > 2) {
474-
$timeTaken = round(($timeTaken), 4);
475-
StatusWriter::write("DONE in $timeTaken seconds");
475+
StatusWriter::write('DONE in '.$timer->getHumanReadableDuration($timeTaken));
476476
}
477477

478478
$this->activeListener = '';

src/Reports/Cbf.php

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
use PHP_CodeSniffer\Exceptions\DeepExitException;
1717
use PHP_CodeSniffer\Files\File;
18+
use PHP_CodeSniffer\Util\Timing;
1819
use PHP_CodeSniffer\Util\Writers\StatusWriter;
1920

2021
class Cbf implements Report
@@ -43,8 +44,8 @@ public function generateFileReport($report, File $phpcsFile, $showSources=false,
4344
if ($errors !== 0) {
4445
if (PHP_CODESNIFFER_VERBOSITY > 0) {
4546
ob_end_clean();
46-
$startTime = microtime(true);
47-
$newlines = 0;
47+
$timer = new Timing();
48+
$newlines = 0;
4849
if (PHP_CODESNIFFER_VERBOSITY > 1) {
4950
$newlines = 1;
5051
}
@@ -74,14 +75,7 @@ public function generateFileReport($report, File $phpcsFile, $showSources=false,
7475
StatusWriter::forceWrite('DONE', 0, 0);
7576
}
7677

77-
$timeTaken = ((microtime(true) - $startTime) * 1000);
78-
if ($timeTaken < 1000) {
79-
$timeTaken = round($timeTaken);
80-
StatusWriter::forceWrite(" in {$timeTaken}ms");
81-
} else {
82-
$timeTaken = round(($timeTaken / 1000), 2);
83-
StatusWriter::forceWrite(" in $timeTaken secs");
84-
}
78+
StatusWriter::forceWrite(' in '.$timer->getHumanReadableDuration($timer->getDuration()));
8579
}
8680

8781
if ($fixed === true) {

src/Reports/Code.php

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use Exception;
1313
use PHP_CodeSniffer\Files\File;
1414
use PHP_CodeSniffer\Util\Common;
15+
use PHP_CodeSniffer\Util\Timing;
1516
use PHP_CodeSniffer\Util\Writers\StatusWriter;
1617

1718
class Code implements Report
@@ -47,7 +48,7 @@ public function generateFileReport($report, File $phpcsFile, $showSources=false,
4748
$tokens = $phpcsFile->getTokens();
4849
if (empty($tokens) === true) {
4950
if (PHP_CODESNIFFER_VERBOSITY === 1) {
50-
$startTime = microtime(true);
51+
$timer = new Timing();
5152
StatusWriter::forceWrite('CODE report is parsing '.basename($file).' ', 0, 0);
5253
} else if (PHP_CODESNIFFER_VERBOSITY > 1) {
5354
StatusWriter::forceWrite("CODE report is forcing parse of $file");
@@ -65,14 +66,7 @@ public function generateFileReport($report, File $phpcsFile, $showSources=false,
6566
}
6667

6768
if (PHP_CODESNIFFER_VERBOSITY === 1) {
68-
$timeTaken = ((microtime(true) - $startTime) * 1000);
69-
if ($timeTaken < 1000) {
70-
$timeTaken = round($timeTaken);
71-
StatusWriter::forceWrite("DONE in {$timeTaken}ms");
72-
} else {
73-
$timeTaken = round(($timeTaken / 1000), 2);
74-
StatusWriter::forceWrite("DONE in $timeTaken secs");
75-
}
69+
StatusWriter::forceWrite('DONE in '.$timer->getHumanReadableDuration($timer->getDuration()));
7670
}
7771

7872
$tokens = $phpcsFile->getTokens();

src/Reports/Diff.php

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
namespace PHP_CodeSniffer\Reports;
1111

1212
use PHP_CodeSniffer\Files\File;
13+
use PHP_CodeSniffer\Util\Timing;
1314
use PHP_CodeSniffer\Util\Writers\StatusWriter;
1415

1516
class Diff implements Report
@@ -42,7 +43,7 @@ public function generateFileReport($report, File $phpcsFile, $showSources=false,
4243
$tokens = $phpcsFile->getTokens();
4344
if (empty($tokens) === true) {
4445
if (PHP_CODESNIFFER_VERBOSITY === 1) {
45-
$startTime = microtime(true);
46+
$timer = new Timing();
4647
StatusWriter::write('DIFF report is parsing '.basename($report['filename']).' ', 0, 0);
4748
} else if (PHP_CODESNIFFER_VERBOSITY > 1) {
4849
StatusWriter::write('DIFF report is forcing parse of '.$report['filename']);
@@ -51,14 +52,7 @@ public function generateFileReport($report, File $phpcsFile, $showSources=false,
5152
$phpcsFile->parse();
5253

5354
if (PHP_CODESNIFFER_VERBOSITY === 1) {
54-
$timeTaken = ((microtime(true) - $startTime) * 1000);
55-
if ($timeTaken < 1000) {
56-
$timeTaken = round($timeTaken);
57-
StatusWriter::write("DONE in {$timeTaken}ms");
58-
} else {
59-
$timeTaken = round(($timeTaken / 1000), 2);
60-
StatusWriter::write("DONE in $timeTaken secs");
61-
}
55+
StatusWriter::write('DONE in '.$timer->getHumanReadableDuration($timer->getDuration()));
6256
}
6357

6458
$phpcsFile->fixer->startFile($phpcsFile);

0 commit comments

Comments
 (0)