Download the PHP package shimabox/smbbenchmark without Composer
On this page you can find all versions of the php package shimabox/smbbenchmark. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download shimabox/smbbenchmark
More information about shimabox/smbbenchmark
Files in shimabox/smbbenchmark
Package smbbenchmark
Short Description Simple Benchmark
License MIT
Homepage https://github.com/shimabox/SMBBenchmark
Informations about the package smbbenchmark
SMBBenchmark
Simple benchmark of php
About
- PHPの簡易ベンチマークです
- 無名関数内に計測処理を書いたり、オブジェクトの関数も計測出来ます
- 計測結果のecho、または、計測結果の取得が出来ます
- PHP5.4以上で動きます
- 後述しますが、PHP5.3対応版もあります
Installation
Usage
example.1 通常利用
example.2 計測したい処理を無名関数内に書く(measure()を使う)
example.3 メソッドチェーン可能
example.4 すべての計測結果を出力
example.5 初期化
- 上記でわかる通りシングルトンなので初期化用メソッドを持っています
example.6 ベンチマークの結果だけを返す
example.7 計測対象の処理を指定した回数繰り返し実行 (結果は平均値)
その他
BCMath(任意精度数学関数)を使用しています
浮動小数点を扱う為、BCMath(任意精度数学関数)を使用しています。
BCMathが使えなくても利用できますが測定結果の精度は落ちます。
BCMath(php-bcmath) のインストール方法
例です。各環境に合わせて修正してください。
環境
インストール
以下でインストールされているか確認できます
インストールできたらapacheのreloadを行います
出力結果の小数点を変更
出力結果はデフォルトで小数点6桁(0.000000秒 マイクロ秒単位)まで表示されていますが、これは変更可能です。 ※小数点を少なくした場合、処理が早すぎるとほぼ0秒に丸められます
変更するには を使います。
出力結果のフォーマットを変更
echoResult(),echoResultAll() の出力フォーマットはデフォルトで ですが、\SMB\Benchmark\Formatter::forEcho()を修正するか、\SMB\Benchmark\IFormatterを実装したクラスを作成しセットすることで好きなフォーマットに変更可能です。
こんなフォーマッターを作成したら、
この様に使えます。
PHP5.3対応版
このライブラリの対象はPHP5.4以上ですが、PHP5.3でも動かしたい場合は を利用してください。
違いは
- Benchmark::measure() 第1引数のタイプヒンティング(callable)を削除
- 無名関数内で$thisを使うために
- Benchmark::resultAll(), Benchmark::echoResultAll() で$thisを退避
- Benchmark::existsMark(), Benchmark::calc(), Benchmark::getFormatter() のアクセス修飾子をpublicに
です。(本当は配列もせっかくだから[]で扱いたかった。。)
Test
- PHPUnitのバージョンは4.8.31で確認しています
注意点
当ライブラリで出した計測結果はあくまでも目安として使ってください。
License
- MIT License