Skip to content

Commit 4a2c3f6

Browse files
authored
Merge pull request #8 from myaaghubi/2.1.1
2.1.1
2 parents 2c3958f + e48ba32 commit 4a2c3f6

File tree

3 files changed

+38
-37
lines changed

3 files changed

+38
-37
lines changed

README.md

Lines changed: 31 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Benchmarking on components like template engines or ORM/Database libraries is ou
1919
- [Benchmarking Policy](#benchmarking-policy)
2020
- [How to Benchmark](#how-to-benchmark)
2121
- [Commands](#commands)
22-
- [Donate](#🍔-donate)
22+
- [Donate](#-donate)
2323
- [References](#references)
2424
- [License](#license)
2525

@@ -50,26 +50,26 @@ These are my benchmarks, not yours. **I encourage you to run on your (production
5050

5151
|framework |requests per second (rps)|relative (rps)|peak memory|relative (mem)|
5252
|-------------------|------------------------:|-------------:|----------:|-------------:|
53-
|pure-php | 27,379.94| 27,379.9| 0.42| 0.4|
54-
|fastroute-1.3 | 4,591.01| 4,591.0| 0.56| 0.6|
55-
|phroute-2.2 | 4,303.07| 4,303.1| 0.58| 0.6|
56-
|leaf-3.3 | 1,576.68| 1,576.7| 1.10| 1.1|
57-
|fatfree-3.8.1 | 1,512.30| 1,512.3| 1.67| 1.7|
58-
|siler-1.7.9 | 1,416.80| 1,416.8| 1.17| 1.2|
59-
|slim-3.12 | 1,061.05| 1,061.1| 1.40| 1.4|
60-
|frameworkx-dev | 994.55| 994.6| 1.45| 1.5|
61-
|slim-4.11 | 805.51| 805.5| 1.57| 1.6|
62-
|ubiquity-2.4.x.dev | 726.70| 726.7| 1.64| 1.6|
63-
|silex-2.3 | 558.07| 558.1| 2.16| 2.2|
64-
|yii-2.0-basic | 508.32| 508.3| 2.57| 2.6|
65-
|fuelphp-1.9 | 450.65| 450.7| 2.51| 2.5|
66-
|lumen-10.0 | 352.94| 352.9| 3.49| 3.5|
67-
|codeigniter-4.3 | 324.27| 324.3| 3.50| 3.5|
68-
|symfony-5.4 | 319.55| 319.6| 3.82| 3.8|
69-
|symfony-6.2 | 314.21| 314.2| 3.89| 3.9|
70-
|laminas-2.0 | 309.30| 309.3| 3.50| 3.5|
71-
|cakephp-4.4 | 262.25| 262.3| 4.49| 4.5|
72-
|laravel-10.0 | 96.97| 97.0| 11.99| 12.0|
53+
|pure-php | 27,379.94| 282.4| 0.42| 1.0|
54+
|fastroute-1.3 | 4,591.01| 47.3| 0.56| 1.3|
55+
|phroute-2.2 | 4,303.07| 44.4| 0.58| 1.4|
56+
|leaf-3.3 | 1,576.68| 16.3| 1.10| 2.6|
57+
|fatfree-3.8.1 | 1,512.30| 15.6| 1.67| 4.0|
58+
|siler-1.7.9 | 1,416.80| 14.6| 1.17| 2.8|
59+
|slim-3.12 | 1,061.05| 10.9| 1.40| 3.3|
60+
|frameworkx-dev | 994.55| 10.3| 1.45| 3.4|
61+
|slim-4.11 | 805.51| 8.3| 1.57| 3.7|
62+
|ubiquity-2.4.x.dev | 726.70| 7.5| 1.64| 3.9|
63+
|silex-2.3 | 558.07| 5.8| 2.16| 5.1|
64+
|yii-2.0-basic | 508.32| 5.2| 2.57| 6.1|
65+
|fuelphp-1.9 | 450.65| 4.6| 2.51| 6.0|
66+
|lumen-10.0 | 352.94| 3.6| 3.49| 8.3|
67+
|codeigniter-4.3 | 324.27| 3.3| 3.50| 8.3|
68+
|symfony-5.4 | 319.55| 3.3| 3.82| 9.1|
69+
|symfony-6.2 | 314.21| 3.2| 3.89| 9.2|
70+
|laminas-2.0 | 309.30| 3.2| 3.50| 8.3|
71+
|cakephp-4.4 | 262.25| 2.7| 4.49| 10.7|
72+
|laravel-10.0 | 96.97| 1.0| 11.99| 28.5|
7373

7474

7575
#### OPCache
@@ -95,26 +95,26 @@ If you find something wrong in my code, feel free to send a PR. But please note
9595

9696
## How to Benchmark
9797

98-
If you want to have benchmarks on `PHP extension frameworks` like Phalcon, you need to install the extension first based on its own documentation.
98+
If you want to have benchmarks on `PHP extension frameworks` like `Phalcon`, you need to install the extension first based on its own documentation.
9999

100100
1- Download & Setup:
101101

102102
```bash
103-
# ...--branch vx.x
103+
# make sure to put it in the root of your web path
104104
$ git clone https://github.com/myaaghubi/PHP-Frameworks-Bench.git
105105

106106
$ cd PHP-Frameworks-Bench
107107

108+
# optional
109+
$ nano benchmark.config
110+
108111
# run the setup & follow the progress
109-
# check out benchmark.config
110-
# yes | bash setup.sh
111-
$ bash setup.sh
112+
$ yes | bash setup.sh
112113
```
113114

114115
2- Make sure everything is ok:
115116

116117
```bash
117-
# this is optional
118118
$ bash check.sh
119119
# bash check.sh -t pure-php
120120
# /------- pure-php: checking... done.
@@ -123,15 +123,16 @@ $ bash check.sh
123123
3- Run benchmarks:
124124

125125
```bash
126+
# bash check.sh -t pure-php
126127
$ bash benchmark.sh
127128
```
128129

129-
4- Check the resuts:
130+
4- Check the results:
130131
- web:
131132

132133
<http://localhost/PHP-Frameworks-Bench/>
133134

134-
- command:
135+
- terminal:
135136
```
136137
bash show-table.sh
137138
```
@@ -155,7 +156,7 @@ $ bash clear-cache.sh
155156
$ bash show-table.sh
156157
```
157158

158-
To specify the frameworks, put them with `-t ...` after each command:
159+
To specify frameworks, put them with `-t ...` after each command:
159160

160161
```bash
161162
# supported for `setup.sh`, `benchmark.sh`, `update.sh`, `clean.sh`, and `clear-cache.sh`

libs/parse_results.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ function parse_results($file)
3434
}
3535

3636
foreach ($results as $fw => $data) {
37-
$results[$fw]['rps_relative'] = $data['rps'] / ($min_rps>0?:1);
38-
$results[$fw]['memory_relative'] = $data['memory'] / ($min_memory>0?:1);
39-
$results[$fw]['time_relative'] = $data['time'] / ($min_time>0?:1);
40-
$results[$fw]['file_relative'] = $data['file'] / ($min_file>0?:1);
37+
$results[$fw]['rps_relative'] = $data['rps'] / ($min_rps);
38+
$results[$fw]['memory_relative'] = $data['memory'] / ($min_memory);
39+
$results[$fw]['time_relative'] = $data['time'] / ($min_time);
40+
$results[$fw]['file_relative'] = $data['file'] / ($min_file);
4141
}
4242

4343
array_multisort(array_column($results, 'rps'), SORT_DESC, $results);

libs/show_results_table.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?php
22

3-
require __DIR__ . '/../libs/parse_results.php';
4-
require __DIR__ . '/../libs/build_table.php';
3+
require './libs/parse_results.php';
4+
require './libs/build_table.php';
55

6-
$results = parse_results(__DIR__ . '/../output/results.hello_world.log');
6+
$results = parse_results('./output/results.hello_world.log');
77

88
echo build_table($results);

0 commit comments

Comments
 (0)