nochso/benchmark
具有可靠结果的基准测试
0.5.3
2016-04-18 21:43 UTC
Requires
- cebe/markdown: ^1.1
- cocur/slugify: ^2.1.1
- doctrine/collections: ^1.3
- jralph/twig-markdown: ^1.0
- nochso/html-compress-twig: ^1.0
- nochso/omni: ^0.3.8
- symfony/finder: ^3.0
- twig/twig: ^1.21
Requires (Dev)
- codegyre/robo: *
- fabpot/php-cs-fixer: ^1.10
- nochso/sami-theme: ^0.2.0
- phpunit/phpunit: ^5.3
This package is not auto-updated.
Last update: 2024-09-24 03:28:41 UTC
README
nochso/benchmark可以从您提供的任何闭包创建漂亮的HTML基准测试
- 生成包括GitHub风格的Markdown在内的HTML报告
- 可靠地比较不同的算法
- 运行测试至少一段时间以确保结果稳定
安装
-
在Linux / Unix / OSX或Windows上安装composer
-
通过composer要求此包
composer require nochso/benchmark
使用
查看示例报告。
一个非常简单的无参数示例
$report = new Report('My report name'); $unit = new Unit('Encryption speed'); $unit->addClosure(function ($n) { while ($n--) { $x = str_rot13('secret'); } }, 'rot13'); $unit->addClosure(function ($n) { while ($n--) { $x = str_rot13(str_rot13('secret')); } }, 'rot26'); $report->unitList->add($unit); $report->run();
这将在默认情况下将HTML报告保存到build
文件夹中。
选项
报告构造函数接受一个可选的第三个参数$config
public function __construct($title, $description = '', $config = array())
如果省略,将使用默认选项。否则,您的配置将与默认值合并。
array( 'template_dir' => 'template', 'output_dir' => 'build', 'twig' => array( 'cache' => 'cache/twig', 'auto_reload' => true, 'strict_variables' => true, ), )
您还可以更改测试的最短持续时间,默认为1000毫秒(1秒)
\nochso\Benchmark\Timer::$defaultMinDuration = 1000;
贡献
- 如果值得讨论,请打开一个问题。
- 在Github上分支此项目。
- 克隆您的分支:
git clone git@github.com:yourname/benchmark.git
- 不要忘记
composer update
- 创建您的功能分支:
git checkout -b my-new-feature
- 提交您的更改:
git commit -am '添加一些功能'
- 推送到分支:
git push origin my-new-feature
- 在Github上提交拉取请求 :)
变更日志
查看CHANGELOG。
致谢
许可
该项目受ISC许可协议的约束,与MIT/GPL兼容且FSF/OSI批准
Copyright (c) 2015, Marcel Voigt <mv@noch.so>
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.