[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用户:183.238.*.*
1 小时前 Oppo Browser Android 7.1
IP用户:14.155.*.*
5 天前 Chrome Mobile Android 8.0
IP用户:74.125.*.*
7 天前 Googlebot
IP用户:54.222.*.*
7 天前 Chrome Mac 10.15
IP用户:220.181.*.*
8 天前 Baidu Spider
IP用户:100.25.*.*
8 天前 Amazon Bot
IP用户:101.67.*.*
12 天前 Generic Bot
IP用户:64.226.*.*
12 天前 Chrome Windows 10
IP用户:112.193.*.*
13 天前 Chrome Windows 10
IP用户:183.238.*.*
13 天前 UC Browser Android 7.1
IP用户:51.222.*.*
14 天前 aHrefs Bot
IP用户:66.249.*.*
19 天前 Googlebot
累计浏览次数:1468
评论
点击登录
phpreturn,PHP武器库,专注PHP领域的项目和资讯,收录和介绍PHP相关项目。
最近浏览 点击登录
IP用户:14.155.*.*
IP用户:3.142.*.*
IP用户:3.145.*.*
IP用户:18.216.*.*
累计浏览次数:190833
一周浏览次数:1083
今日浏览次数:105

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

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

鲁ICP备19027671号-2