best-served-cold/benchmark
Composer 安装命令:
composer require best-served-cold/benchmark
包简介
Benchmark - PHP Standalone Benchmark class.
README 文档
README
Benchmark
Install
$ composer require best-served-cold/benchmark
Usage
Call in the Benchmark and Output classes
use BestServedCold\Benchmark\Benchmark; use BestServedCold\Benchmark\Output;
Then benchmark a bunch of code:
Benchmark::start(); for ($i = 0; $i <= 100; $i++ ) { mt_rand(1, 1000); } Benchmark::stop(); Output::output(Benchmark::get())->render();
Returns something like this:
+---------------+-------------------+--------------------+ | Name | Metric | Value | +---------------+-------------------+--------------------+ | 58c4302514614 | MicroTime | 0.0022561550140381 | | 58c4302514614 | MemoryUsage | 160.05 KB | | 58c4302514614 | DeclaredInterface | 0 | | 58c4302514614 | DeclaredTrait | 2 | | 58c4302514614 | DefinedFunction | 0 | | 58c4302514614 | DefinedConstant | 0 | | 58c4302514614 | IncludedFile | 1 | | 58c4302514614 | DeclaredClass | 0 | | 58c4302514614 | PeakMemoryUsage | 1.54 MB | +---------------+-------------------+--------------------+
As no $name argument is specified, a hashed name will be given as means of identification.
Naming benchmarks
Benchmark::reset(); // Clear existing benchmarks Benchmark::start('bob'); $a = str_repeat('Hello', 24000); define('FOO', 'bar'); Benchmark::stop('bob'); Benchmark::start('mary'); require_once('./SomeClass.php'); sleep(1); Benchmark::stop('mary');
Returns something like:
+------+-------------------+--------------------+ | Name | Metric | Value | +------+-------------------+--------------------+ | bob | MicroTime | 0.0014297962188721 | | bob | MemoryUsage | 191.77 KB | | bob | DeclaredInterface | 0 | | bob | DeclaredTrait | 0 | | bob | DefinedFunction | 0 | | bob | DefinedConstant | 1 | | bob | IncludedFile | 0 | | bob | DeclaredClass | 0 | | bob | PeakMemoryUsage | 2.18 MB | +------+-------------------+--------------------+ | mary | MicroTime | 1.0012910366058 | | mary | MemoryUsage | 75.48 KB | | mary | DeclaredInterface | 0 | | mary | DeclaredTrait | 0 | | mary | DefinedFunction | 0 | | mary | DefinedConstant | 0 | | mary | IncludedFile | 1 | | mary | DeclaredClass | 1 | | mary | PeakMemoryUsage | 2.18 MB | +------+-------------------+--------------------+
Specifying output interface
Benchmark::reset(); Benchmark::start('susan'); require_once('./SomeTrait.php'); Benchmark::stop('susan'); Output::output(Benchmark::get(), 'apache')->render();
Returns something like:
| Name | Metric | Value |
|---|---|---|
| susan | MicroTime | 0.0014090538024902 |
| susan | MemoryUsage | 76.03 KB |
| susan | DeclaredInterface | |
| susan | DeclaredTrait | 1 |
| susan | DefinedFunction | |
| susan | DefinedConstant | |
| susan | IncludedFile | 1 |
| susan | DeclaredClass | |
| susan | PeakMemoryUsage | 2.18 MB |
统计信息
- 总下载量: 6
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-03-12