jsanc623/phpbenchtime

PHP的一个轻量级基准计时器类。

2.1.3 2020-04-24 22:20 UTC

This package is auto-updated.

Last update: 2024-08-30 01:17:29 UTC


README

Latest Stable Version Total Downloads Monthly Downloads License Build Status

PHP的一个轻量级基准计时器类。PHPBenchTime非常易于使用,功能丰富——包括详细的总结数据、易于阅读的源代码、强大的圈速系统和暂停/恢复功能。

此外,请查看这个包的Python版本:PyBenchTime Python Package

在Packagist上

https://packagist.org.cn/packages/nsa-yoda/phpbenchtime

方法

public start()
public end()
public reset()
public lap()
public summary()
public pause()
public unPause()
private endLap()
private getCurrentTime()

属性

private startTime
private endTime
private pauseTime
private laps
private lapCount

用法

您应该在源代码中的Usage.php文件中找到最佳的使用说明。不过,这里有一个概述

加载并初始化PHPBenchTime计时器

require('PHPBenchTime.php');
use PHPBenchTime\Timer;
$T = new Timer;

很简单!现在我们来启动一个新的计时器

$T->start();

然后让我们暂停3秒钟

sleep(3);

现在,让我们结束计时器,并将结果放入 $time

$time = $T->end();

当我们结束计时器时,我们返回一个数组,包含开始时间、结束时间和开始时间和结束时间的差异

Array (
    [running] => false
    [start] => 1406146951.9998
    [end] => 1406146952.0638
    [total] => 0.0019998550415039
    [paused] => 0
    [laps] => Array (
        [0] => Array (
            [name] => start
            [start] => 1406146951.9998
            [end] => 1406146952.0018
            [total] => 0.0019998550415039
        )
    )
)

高级用法:圈速

PHPBenchTime还允许你在代码执行之间设置圈速,这样你可以确定代码的哪个部分是瓶颈。

让我们在圈速之间暂停几秒钟

sleep(1);
$T->lap();
sleep(2);
$T->lap();

现在,让我们结束计时器

$time = $T->end();

让我们看看结果

Array (
    [running] => false
    [start] => 1406146951.9998
    [end] => 1406146952.0638
    [total] => 0.063999891281128
    [paused] => 0.041000127792358
    [laps] => Array (
        [0] => Array (
            [name] => start
            [start] => 1406146951.9998
            [end] => 1406146952.0018
            [total] => 0.0019998550415039
        )
        [1] => Array (
            [name] => 1
            [start] => 1406146952.0018
            [end] => 1406146952.0028
            [total] => 0.0010001659393311
        )
        [2] => Array (
            [name] => 2
            [start] => 1406146952.0028
            [end] => 1406146952.0128
            [total] => 0.0099999904632568
        )
    )
)

高级用法

PHPBenchTime允许你进行命名圈速,以及暂停和恢复计时器(例如,你可能需要发起一个网络调用或数据库调用,但不希望将这段时间包括在你的基准测试中——暂停,然后在收到网络/数据库数据后恢复)。

历史

  • v1.0.0: 静态诞生!
  • v1.1.0: 静态命名空间!
  • v1.2.0: 非静态命名空间!
  • v1.3.0: 圈速!圈速!圈速!
  • v2.0.0: 完全重写,添加了暂停、恢复、中心圈速系统和更详细的总结
  • v2.1.0: 性能提升、单元测试等