phpunit/php-timer

计时工具类

7.0.1 2024-07-03 05:09 UTC

README

Latest Stable Version CI Status codecov

这是一个用于计时的工具类,它是从PHPUnit中提取出来,作为一个独立的组件。

安装

您可以使用Composer将此库添加到您的项目中,作为本地项目依赖。

composer require phpunit/php-timer

如果您仅在开发过程中需要此库,例如运行项目的测试套件,则应将其添加为开发时依赖。

composer require --dev phpunit/php-timer

使用方法

基本计时

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());

上面的代码会产生以下输出

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

资源消耗

显式持续时间

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());

上面的代码会产生以下输出

Time: 00:00.002, Memory: 6.00 MB

自PHP启动以来的持续时间(使用不可靠的$_SERVER['REQUEST_TIME_FLOAT']

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

use SebastianBergmann\Timer\ResourceUsageFormatter;

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

print (new ResourceUsageFormatter)->resourceUsageSinceStartOfRequest();

上面的代码会产生以下输出

Time: 00:00.002, Memory: 6.00 MB