wdalmut / php-bench
Benchmark your application methods in a simple way
0.1.2
2015-10-24 10:29 UTC
Requires
- phpunit/phpunit: ~4
- symfony/console: ~2|~3
- symfony/finder: ~2|~3
This package is not auto-updated.
Last update: 2024-11-09 19:39:25 UTC
README
Just a simple way to benchmark your class methods or functions.
./vendor/bin/bench run tests/
or with different paths
./vendor/bin/bench run tests/ benchs/
Declare a bench method
Just create a method in a class starting with the benchmark
keyword or use a
simple @benchmark
annotation in your doc-block.
class MyClass { ... public function benchmarkUsingTheMethodName($b) { for ($i=0; $i<$b->times(); $i++) { my_project_function("%s", "hello"); } } /** * @benchmark */ public function this_bench_instead_use_the_annotation($b) { for ($i=0; $i<$b->times(); $i++) { $myObj->slowMethod("stub"); } } }
The benchmark
method receive an object b
from outside that contains the
number of iterations that your bench function should run.
PHPUnit integration
Just add a benchmark
method in your testcases.
class MyTest extends \PHPUnit_Framework_TestCase { // Executed only by php-bench public function benchmarkMyAppMethod($b) { for ($i<0; $i<$b->times(); $i++) { sprintf("%s", "hello"); } } public function testMyAppMethod() { // ... $this->assertEquals(...); } }
Install with composer
You can use composer in order to get this library locally
{ "require-dev": { "wdalmut/php-bench": "*" } }
Inspired by Golang benchmark library