smuuf / phpcb
该软件包最新版本(0.5.2)没有可用的许可证信息。
PHP代码性能基准
0.5.2
2021-12-21 15:18 UTC
Requires
- php: >=7.4
- ext-bcmath: *
Requires (Dev)
- nette/tester: ^2.4
- phpstan/phpstan: ^1.2
This package is auto-updated.
Last update: 2024-09-21 21:54:58 UTC
README
phpcb (PHP代码性能基准)
phpcb是一个非常简单且非常轻量级的工具,用于各种小段PHP代码的速度基准测试,当然是用PHP编写的。
为什么
phpcb旨在用于存在多种实现方式的情况——您知道所有这些都会得到完全相同的结果——但您无法决定哪个最终会是最好的(即"最快的")。
要求
- PHP 7.4+
- BCMath任意精度数学库;通常与PHP本身一起发货,不应成问题。
安装
composer require --dev smuuf/-hpcb
使用
在某个文件中编写您的微基准测试。例如mymicrobench.php
(此处放置在phpcb的根目录中,以便清楚我们需要从正确位置获取Composer的自动加载文件)
<?php require __DIR__ . '/../vendor/autoload.php'; $bench = new \Smuuf\Phpcb\PhpBenchmark; const COUNT = 100; $bench->addBench(function() { for ($i = 1; $i <= COUNT; $i++) {} }); $bench->addBench(function() { for ($i = COUNT; $i > 0; $i--) {} }); $bench->addBench(function() { for ($i = COUNT; $i--;) {} }); $bench->addBench(function() { for ($i = -COUNT; $i++;) {} }); $bench->run();
然后运行它
$ php ./mymicrobench.php
观察结果
█ PHP Code Benchmark (phpcb) █ PHP 7.4.27 Engine used: Chaotic Engine Total time: 1.3220 sec Iterations: 1 000 000 ██ 2. Score: 100.00, 0.2660 sec ┌ │ $bench->addBench(function() { │ for ($i = COUNT; $i > 0; $i--) {} │ }); └ ██ 1. Score: 86.54, 0.3074 sec, 1.16x slower ┌ │ $bench->addBench(function() { │ for ($i = 1; $i <= COUNT; $i++) {} │ }); └ ██ 4. Score: 71.13, 0.3740 sec, 1.41x slower ┌ │ $bench->addBench(function() { │ for ($i = -COUNT; $i++;) {} │ }); └ ██ 3. Score: 71.02, 0.3746 sec, 1.41x slower ┌ │ $bench->addBench(function() { │ for ($i = COUNT; $i--;) {} │ }); └