rkljw da65e32526 第一次提交 10 månader sedan
..
src da65e32526 第一次提交 10 månader sedan
ChangeLog.md da65e32526 第一次提交 10 månader sedan
LICENSE da65e32526 第一次提交 10 månader sedan
README.md da65e32526 第一次提交 10 månader sedan
SECURITY.md da65e32526 第一次提交 10 månader sedan
composer.json da65e32526 第一次提交 10 månader sedan

README.md

phpunit/php-timer

Latest Stable Version CI Status Type Coverage codecov

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