windwalker/profiler
Composer 安装命令:
composer require windwalker/profiler
包简介
Windwalker Profiler package
README 文档
README
Windwalker Profiler can help us profiler some process information for debug.
Installation via Composer
Add this to the require block in your composer.json.
{
"require": {
"windwalker/profiler": "~3.0"
}
}
Create A Profiler And Mark A Point
use Windwalker\Profiler\Profiler; $profiler = new Profiler; $profiler->mark('StartRender'); // Execute some code... $profiler->mark('AfterRender'); // Execute some code... $profiler->mark('End');
Now your can get the elapsed time between two points:
$profiler->getTimeBetween('StartRender', 'AfterRender');
Or get memory amount between two points:
// Return memory bytes $profiler->getMemoryBetween('StartRender', 'AfterRender');
Output Result
echo $profiler->render();
Notes 0.000 seconds (+0.000); 0.00 MB (+0.000) - StartRender Notes 1.000 seconds (+1.000); 3.00 MB (+3.000) - AfterRender Notes 1.813 seconds (+0.813); 6.24 MB (+3.240) - End
Benchmark
Benchmark is a convenience object to test two or more tasks executing time.
use Windwalker\Profiler\Banchmark; $benchmark = new Benchmark; $benchmark->addTask('task1', function() { md5(uniqid()); }) ->addTask('task2', function() { sha1(uniqid()); }); $benchmark->execute(10000); echo $benchmark->render();
The output
task1 => 0.204897 s
task2 => 0.205108 s
Use Other format
$benchmark->setTimeFormat(Benchmark::MILLI_SECOND)->execute(10000); echo $benchmark->render(); /* Result task1 => 187.489986 ms task2 => 207.049847 ms */
$benchmark->setTimeFormat(Benchmark::MICRO_SECOND)->execute(10000); echo $benchmark->render(); /* Result task1 => 198050.9758 μs task2 => 206343.173981 μs */
Custom Render Handler
$benchmark->setRenderOneHandler(function($name, $result, $round, $format) { return $name . ' : ' . round($result, $round); }); $benchmark->render();
统计信息
- 总下载量: 55
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: LGPL-2.0-or-later
- 更新时间: 2014-09-24