Executors¶
Executors are the classes which perform the work and take the measurements.
The default executor is remote.
remote¶
Executes you benchmark in a separate process for each iteration.
This benchmark records:
Time in microseconds
Memory usage
Options:
- php_config:
Type(s):
array, Default:[]Key value array of ini settings, e.g.
{"max_execution_time":100}
- safe_parameters:
Type(s):
bool, Default:trueINTERNAL: Use process process-safe parameters, this option exists for backwards-compatibility and will be removed in PHPBench 2.0
local¶
Executes the benchmark in the same process as PHPBench - only useful if you have included PHPBench as a dependency in your project and it shares the same autoloader.
This benchmark records:
Time in microseconds
Options:
none
debug¶
The debug executor returns a constant set of results, and is useful for debugging.
Options:
- times:
Type(s):
array, Default:10
- spread:
Type(s):
array, Default:0
- memories:
Type(s):
[null, array], Default:NULL
xdebug_profile¶
Execute benchmarks and enable XDebug profiling.
Note
You probably want to use the xdebug:profile command rather than this
executor.
Options:
- php_config:
Type(s):
array, Default:[]Key value array of ini settings, e.g.
{"max_execution_time":100}
- safe_parameters:
Type(s):
bool, Default:trueINTERNAL: Use process process-safe parameters, this option exists for backwards-compatibility and will be removed in PHPBench 2.0
- callback:
Type(s):
Closure, Default:{}
- output_dir:
Type(s):
string, Default:xdebug