[phpunit/php-timer]一个用于代码执行时间的计时器

2022-04-02 奥古斯宏

有时候我们需要测算一段代码的执行时间,我们自然可以自己存一个变量,计算执行前和执行后的时间戳,但是不免有些粗糙。

有这样一个库,可以很方便地实现这个效果:

基本使用

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


评论
点击登录