[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


最近浏览
IP用户:124.160.*.*
4 小时前 Generic Bot
IP用户:114.119.*.*
13 小时前 Petal Bot
IP用户:116.179.*.*
1 天前 Baidu Spider
IP用户:158.220.*.*
1 天前 MJ12 Bot
IP用户:66.249.*.*
2 天前 Googlebot
IP用户:60.188.*.*
5 天前 Generic Bot
IP用户:221.194.*.*
6 天前 Microsoft Edge Windows 10
IP用户:112.13.*.*
7 天前 Generic Bot
IP用户:62.234.*.*
9 天前 aiohttp
IP用户:168.151.*.*
11 天前 Chrome Mobile iOS 11.3
IP用户:74.80.*.*
13 天前 Generic Bot
IP用户:51.222.*.*
15 天前 aHrefs Bot
累计浏览次数:1443
评论
点击登录
phpreturn,PHP武器库,专注PHP领域的项目和资讯,收录和介绍PHP相关项目。
最近浏览 点击登录
累计浏览次数:186535
一周浏览次数:1414
今日浏览次数:38

本站所有权利归 phpreturn.com 所有

举报/反馈/投稿邮箱:phpreturn@ulthon.com

鲁ICP备19027671号-2