asika/simple-benchmark

PHP Simple Benchmark framework

Maintainers

👁 asika32764

Package info

github.com/asika32764/php-simple-benchmark

Type:console

pkg:composer/asika/simple-benchmark

Statistics

Installs: 1 634

Dependents: 1

Suggesters: 0

Stars: 4

Open Issues: 0

3.1.0 2023-10-28 12:47 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 11805c88cb095f7cc740b86f1b8518763a4b5b41

clibenchmark

This package is auto-updated.

Last update: 2026-06-28 18:30:48 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