Need help with php-timer?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

sebastianbergmann
7.0K Stars 58 Forks Other 276 Commits 0 Opened issues

Description

Utility class for timing

Services available

!
?

Need anything else?

Contributors list

# 2,472
PHP
php7
PHPUnit
SQLite
241 commits
# 26,351
PHP
PHPUnit
Symfony
coffees...
6 commits
# 12,948
PHP
php7
yaf
php-fra...
3 commits
# 118,034
PHP
Symfony
C
PHPUnit
2 commits
# 7,917
Compose...
PHP
PHPUnit
Nette
2 commits
# 31,594
PHP
PHPUnit
Compose...
tokeniz...
1 commit
# 74,077
PHP
PHPUnit
Nette
php7
1 commit
# 488,369
PHP
1 commit
# 13,169
PHP
Laravel
Symfony
fluent-...
1 commit
# 1,653
PHP
Laravel
Compose...
framewo...
1 commit
# 50,665
PHP
Clojure
yay
Homebre...
1 commit

phpunit/php-timer

CI Status Type Coverage

Utility class for timing things, factored out of PHPUnit into a stand-alone component.

Installation

You can add this library as a local, per-project dependency to your project using Composer:

composer require phpunit/php-timer

If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:

composer require --dev phpunit/php-timer

Usage

Basic Timing

require __DIR__ . '/vendor/autoload.php';

use SebastianBergmann\Timer\Timer;

$timer = new Timer;

$timer->start();

foreach (\range(0, 100000) as $i) { // ... }

$duration = $timer->stop();

var_dump(get_class($duration)); var_dump($duration->asString()); var_dump($duration->asSeconds()); var_dump($duration->asMilliseconds()); var_dump($duration->asMicroseconds()); var_dump($duration->asNanoseconds());

The code above yields the output below:

string(32) "SebastianBergmann\Timer\Duration"
string(9) "00:00.002"
float(0.002851062)
float(2.851062)
float(2851.062)
int(2851062)

Resource Consumption

Explicit duration

require __DIR__ . '/vendor/autoload.php';

use SebastianBergmann\Timer\ResourceUsageFormatter; use SebastianBergmann\Timer\Timer;

$timer = new Timer; $timer->start();

foreach (\range(0, 100000) as $i) { // ... }

print (new ResourceUsageFormatter)->resourceUsage($timer->stop());

The code above yields the output below:

Time: 00:00.002, Memory: 6.00 MB

Duration since PHP Startup (using unreliable
$_SERVER['REQUEST_TIME_FLOAT']
)

require __DIR__ . '/vendor/autoload.php';

use SebastianBergmann\Timer\ResourceUsageFormatter;

foreach (\range(0, 100000) as $i) { // ... }

print (new ResourceUsageFormatter)->resourceUsageSinceStartOfRequest();

The code above yields the output below:

Time: 00:00.002, Memory: 6.00 MB

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.