veloper / bench
一个轻量级类,用于快速基准测试/计时/分析PHP代码
dev-master
2017-06-04 16:32 UTC
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-18 04:15:08 UTC
README
用途
一个轻量级类,用于快速基准测试/计时/分析PHP代码。
基本用法
/**
* Start & Stop
*/
include 'class.Bench.php';
Bench::start();
// [Some Code To Test]
echo Bench::stop() . ' Seconds'; -> 2.13274598122
/**
* Marks
*/
include 'class.Bench.php';
Bench::start();
// [Application Bootstrap]
Bench::mark('bootstrap');
// [Database Connection Opened]
Bench::mark('database');
// [Data Processing + Manipulation]
Bench::mark('processing');
// [HTML Creation]
Bench::mark('html');
// [MISC]
Bench::stop();
// Get data on specific mark.
print_r(Bench::getMarkById('database')); // ->
Array (
// The mark id.
[id] => database
// The microtime(true) of when this mark occurred.
[microtime] => 1287969552.88
// The time (in seconds) since start() was called.
[since_start] => 1.10582304001
// The time since the last mark [or] since start(), if first call to mark().
[since_last_mark] => 0.171210050583
)
// Get statistics
print_r(Bench::getStats()); // ->
Array (
// The average time between marks (in seconds)
[mark_average] => 0.346896330516
// The longest mark
[mark_longest] => Array
(
[id] => database
[microtime] => 1288045989.62
[since_start] => 1.02174592018
[since_last_mark] => 0.831446886063
)
// The shortest mark
[mark_shortest] => Array
(
[id] => processing
[microtime] => 1288045989.64
[since_start] => 1.04068899155
[since_last_mark] => 0.0189430713654
)
// Start microtime
[start] => 1288060408.82
// Stop microtime (if called)
[stop] => 1288060409.95
// Time elapsed (in seconds)
[elapsed] => 1.0407409668
)
更多示例请访问 http://github.com/veloper/Bench/wiki
网站
http://dan.doezema.com/2010/10/bench-php-class/
许可证
Bench 在新BSD许可证下发布。 http://dan.doezema.com/licenses/new-bsd/