asika / simple-benchmark
PHP Simple Benchmark framework
Installs: 790
Dependents: 1
Suggesters: 0
Security: 0
Stars: 4
Watchers: 3
Forks: 0
Open Issues: 0
Type:console
Requires
- php: >=8.0
- symfony/console: ^5.0||^6.0||^7.0
- symfony/stopwatch: ^5.0||^6.0||^7.0
Requires (Dev)
- windwalker/utilities: ^4.0
This package is auto-updated.
Last update: 2024-10-28 14:54:18 UTC
README
Installation via Composer
composer global require asika/simple-benchmark
Getting Started
Type benchmark
or sb
in terminal.
sb
The output will be:
PHP Simple Benchmark Framework - version: 2.0.0-beta
------------------------------------------------------------
[sb Help]
Help of Simple Benchmark.
Usage:
sb <command> [option]
Options:
-h | --help Display this help message.
-q | --quiet Do not output any message.
-v | --verbose Increase the verbosity of messages.
--ansi Set 'off' to suppress ANSI colors on unsupported terminals.
Commands:
run Run benchmark
create Create a task file.
Use `benchmark create TaskName` to generate a new task sample file to /tasks folder.
Use `benchmark run TaskFile.php [times]` to run benchmark
Create a Task File
sb create TaskName
A file named TaskName.php
will be generated to current folder.
Open TaskName.php
you will see:
<?php /** @var \SimpleBenchmark\Benchmark $benchmark */
You can do your benchmark by addTask()
.
<?php /** @var \SimpleBenchmark\Benchmark $benchmark */ $benchmark->addTask('task1-md5', function() { md5(uniqid()); }); $benchmark->addTask('task2-sha1', function() { sha1(uniqid()); });
Run Benchmark
Run benchmark by this command:
sb run TaskName.php
The output will be:
Benchmark Result
---------------------------------------------
Run 10,000 times
task1-md5:
- Time: 0.0104s
- Memory: 2048kb
task2-sha1:
- Time: 0.0101s
- Memory: 2048kb
You can set times (Default is 10000) at second argument:
php benchmark run TaskName.php 15000