Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit a36b15c

Browse files
Версия 1.0.21
- добавили тестирование преобразования простых типов - обновили README
1 parent c693083 commit a36b15c

File tree

3 files changed

+89
-38
lines changed

3 files changed

+89
-38
lines changed

‎README.md‎

Lines changed: 37 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ env PHP_MEMORY_LIMIT=64 PHP_TIME_LIMIT=30 php bench.php
5656

5757
## ChangeLog
5858

59+
@ 2017年05月19日, v1.0.21
60+
61+
* Добавили тесты производительности конвертации простых типов:
62+
`string => (int)`, `string => intval()`
63+
5964
@ 2017年05月19日, v1.0.20
6065

6166
* Поддержва длинных опций ком.строки только в php-5.3+
@@ -162,51 +167,55 @@ env PHP_MEMORY_LIMIT=64 PHP_TIME_LIMIT=30 php bench.php
162167
* Добавлен вывод потребления памяти
163168
* Добавлены новые функции, увеличен размер проверочной строки
164169

165-
## Пример вывода скрпита
170+
## Пример вывода скрипта
166171

167172
```
168173
<pre>
169174
-------------------------------------------------------------------------------------------
170175
| PHP BENCHMARK SCRIPT |
171176
-------------------------------------------------------------------------------------------
172-
Start: : 2017-05-18 06:48:07
173-
Server: : Linux/4.4.0-78-generic x86_64
177+
Start: : 2017-05-24 22:48:12
178+
Server: : Linux/4.4.0-79-generic x86_64
174179
Platform: : Linux
175180
CPU: :
176181
model : Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz
177182
cores : 4
178-
MHz : 3766.601MHz
183+
MHz : 3757.578MHz
179184
Memory : 256 Mb available
180-
Benchmark version: : 1.0.17
185+
Benchmark version: : 1.0.21
181186
PHP version: : 7.0.14-Ubuntu/16.04-SergeyD/9.3.1
182187
Max execution time: : 600 sec.
183188
Crypt hash algo: : MD5
184189
-------------------------------------------------------------------------------------------
185190
TEST NAME : SECONDS | OP/SEC | OP/SEC/MHz | MEMORY
186191
-------------------------------------------------------------------------------------------
187-
01_math : 3.091 sec | 452.99 kOp/s | 120.27 Ops/MHz | 2 Mb
188-
02_string_concat : 0.217 sec | 35.41 MOp/s | 9.40 kOps/MHz | 128.84 Mb
189-
03_string_simple_functions : 1.764 sec | 736.92 kOp/s | 195.65 Ops/MHz | 4 Mb
190-
04_string_multibyte : 4.052 sec | 32.08 kOp/s | 8.52 Ops/MHz | 4 Mb
191-
05_string_manipulation : 2.393 sec | 543.34 kOp/s | 144.25 Ops/MHz | 4 Mb
192-
06_regex : 1.942 sec | 669.42 kOp/s | 177.72 Ops/MHz | 4 Mb
193-
07_1_hashing : 2.049 sec | 634.37 kOp/s | 168.42 Ops/MHz | 4 Mb
194-
07_2_crypt : 5.897 sec | 1.70 kOp/s | 0.45 Ops/MHz | 4 Mb
195-
08_json_encode : 1.596 sec | 814.62 kOp/s | 216.27 Ops/MHz | 4 Mb
196-
09_json_decode : 1.944 sec | 668.89 kOp/s | 177.59 Ops/MHz | 4 Mb
197-
10_serialize : 1.208 sec | 1.08 MOp/s | 285.69 Ops/MHz | 4 Mb
198-
11_unserialize : 1.747 sec | 744.11 kOp/s | 197.55 Ops/MHz | 4 Mb
199-
12_array_fill : 1.242 sec | 38.66 MOp/s | 10.26 kOps/MHz | 10 Mb
200-
13_array_unset : 1.802 sec | 26.64 MOp/s | 7.07 kOps/MHz | 4 Mb
201-
14_loops : 1.813 sec | 209.59 MOp/s | 55.65 kOps/MHz | 4 Mb
202-
15_loop_ifelse : 1.299 sec | 69.29 MOp/s | 18.40 kOps/MHz | 4 Mb
203-
16_loop_ternary : 3.191 sec | 28.20 MOp/s | 7.49 kOps/MHz | 4 Mb
204-
17_1_loop_defined_access : 0.574 sec | 34.85 MOp/s | 9.25 kOps/MHz | 4 Mb
205-
17_2_loop_undefined_access : 3.810 sec | 5.25 MOp/s | 1.39 kOps/MHz | 4 Mb
206-
18_loop_exceptiontrycatch : 2.135 sec | 1.87 MOp/s | 497.52 Ops/MHz | 4 Mb
192+
01_math : 3.134 sec | 446.66 kOp/s | 118.87 Ops/MHz | 2 Mb
193+
02_string_concat : 0.232 sec | 33.16 MOp/s | 8.82 kOps/MHz | 4 Mb
194+
03_1_string_number_concat : 1.717 sec | 2.91 MOp/s | 774.94 Ops/MHz | 4 Mb
195+
03_2_string_number_format : 1.500 sec | 3.33 MOp/s | 887.36 Ops/MHz | 4 Mb
196+
04_string_simple_functions : 1.771 sec | 734.20 kOp/s | 195.39 Ops/MHz | 4 Mb
197+
05_string_multibyte : 4.084 sec | 31.83 kOp/s | 8.47 Ops/MHz | 4 Mb
198+
06_string_manipulation : 2.442 sec | 532.32 kOp/s | 141.67 Ops/MHz | 4 Mb
199+
07_regex : 1.956 sec | 664.78 kOp/s | 176.92 Ops/MHz | 4 Mb
200+
08_1_hashing : 2.023 sec | 642.55 kOp/s | 171.00 Ops/MHz | 4 Mb
201+
08_2_crypt : 5.928 sec | 1.69 kOp/s | 0.45 Ops/MHz | 4 Mb
202+
09_json_encode : 1.638 sec | 793.71 kOp/s | 211.23 Ops/MHz | 4 Mb
203+
10_json_decode : 1.992 sec | 652.76 kOp/s | 173.72 Ops/MHz | 4 Mb
204+
11_serialize : 1.223 sec | 1.06 MOp/s | 282.81 Ops/MHz | 4 Mb
205+
12_unserialize : 1.749 sec | 743.36 kOp/s | 197.83 Ops/MHz | 4 Mb
206+
13_array_fill : 2.008 sec | 23.91 MOp/s | 6.36 kOps/MHz | 4 Mb
207+
14_array_unset : 1.815 sec | 26.45 MOp/s | 7.04 kOps/MHz | 4 Mb
208+
15_loops : 2.011 sec | 188.95 MOp/s | 50.29 kOps/MHz | 4 Mb
209+
16_loop_ifelse : 1.492 sec | 60.34 MOp/s | 16.06 kOps/MHz | 4 Mb
210+
17_loop_ternary : 3.280 sec | 27.44 MOp/s | 7.30 kOps/MHz | 4 Mb
211+
18_1_loop_defined_access : 0.590 sec | 33.92 MOp/s | 9.03 kOps/MHz | 4 Mb
212+
18_2_loop_undefined_access : 3.843 sec | 5.20 MOp/s | 1.39 kOps/MHz | 4 Mb
213+
19_type_functions : 1.749 sec | 2.86 MOp/s | 760.87 Ops/MHz | 4 Mb
214+
20_type_conversion : 1.169 sec | 4.28 MOp/s | 1.14 kOps/MHz | 4 Mb
215+
21_loop_exceptiontrycatch : 2.139 sec | 1.87 MOp/s | 497.63 Ops/MHz | 4 Mb
207216
-------------------------------------------------------------------------------------------
208-
Total time: : 43.765 sec.
209-
Current memory usage: : 512.82 kb.
210-
Peak memory usage: : 125.34 Mb.
217+
Total time: : 51.484 sec.
218+
Current memory usage: : 535.71 kb.
219+
Peak memory usage: : 125.36 Mb.
211220
</pre>
212221
```

‎bench.php‎

Lines changed: 50 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@
1010
# Author : Sergey Dryabzhinsky #
1111
# Company : Rusoft Ltd, Russia #
1212
# Date : May 19, 2017 #
13-
# version : 1.0.20 #
13+
# version : 1.0.21 #
1414
# License : Creative Commons CC-BY license #
1515
# Website : https://github.com/rusoft/php-simple-benchmark-script #
1616
# Website : https://git.rusoft.ru/open-source/php-simple-benchmark-script #
1717
# #
1818
################################################################################
1919
*/
2020

21-
$scriptVersion = '1.0.20';
21+
$scriptVersion = '1.0.21';
2222

2323
// Used in hacks/fixes checks
2424
$phpversion = explode('.', PHP_VERSION);
@@ -184,13 +184,13 @@
184184
$loopMaxPhpTimesMHz = 3800;
185185
// How much time needed for tests on this machine
186186
$loopMaxPhpTimes = array(
187-
'4.4' => 200,
188-
'5.2' => 120,
189-
'5.3' => 105,
187+
'4.4' => 210,
188+
'5.2' => 135,
189+
'5.3' => 115,
190190
// 5.4, 5.5, 5.6
191-
'5' => 95,
191+
'5' => 105,
192192
// 7.0, 7.1
193-
'7' => 50,
193+
'7' => 52,
194194
);
195195
$dumbTestMaxPhpTimes = array(
196196
'4.4' => 0.894,
@@ -225,7 +225,9 @@
225225
'17_loop_ternary' => 90000000,
226226
'18_1_loop_def' => 20000000,
227227
'18_2_loop_undef' => 20000000,
228-
'19_loop_except' => 4000000,
228+
'19_type_func' => 5000000,
229+
'20_type_conv' => 5000000,
230+
'21_loop_except' => 4000000,
229231
);
230232

231233
/** ---------------------------------- Common functions -------------------------------------------- */
@@ -1003,6 +1005,46 @@ function test_18_2_Loop_Undefined_Access()
10031005
return format_result_test(get_microtime() - $time_start, $count, memory_get_usage(true));
10041006
}
10051007

1008+
function test_19_Type_Functions()
1009+
{
1010+
global $testsLoopLimits;
1011+
1012+
$count = $testsLoopLimits['20_type_conv'];
1013+
$time_start = get_microtime();
1014+
$ia = array('123456', '0.000001', '0x123');
1015+
$fa = array('123456.7890', '123.456e7', '3E-12', '0.0000001');
1016+
for ($i = 0; $i < $count; $i++) {
1017+
foreach ($ia as $n) {
1018+
$r = intval($n);
1019+
}
1020+
foreach ($fa as $n) {
1021+
$r = floatval($n);
1022+
}
1023+
}
1024+
return format_result_test(get_microtime() - $time_start, $count, memory_get_usage(true));
1025+
}
1026+
1027+
function test_20_Type_Conversion()
1028+
{
1029+
global $testsLoopLimits;
1030+
1031+
$count = $testsLoopLimits['20_type_conv'];
1032+
$time_start = get_microtime();
1033+
$ia = array('123456', '0.000001', '0x123');
1034+
$fa = array('123456.7890', '123.456e7', '3E-12', '0.0000001');
1035+
for ($i = 0; $i < $count; $i++) {
1036+
foreach ($ia as $n) {
1037+
$r = (int)$n;
1038+
}
1039+
foreach ($fa as $n) {
1040+
$r = (float)$n;
1041+
}
1042+
}
1043+
return format_result_test(get_microtime() - $time_start, $count, memory_get_usage(true));
1044+
}
1045+
1046+
1047+
10061048
if ((int)$phpversion[0] >= 5) {
10071049
if (is_file('php5.inc')) {
10081050
include_once 'php5.inc';

‎php5.inc‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
* Special test only for php 5+.
55
* php 4.x can't compile try construction.
66
*/
7-
function test_19_Loop_ExceptionTryCatch()
7+
function test_21_Loop_ExceptionTryCatch()
88
{
99
global $testsLoopLimits;
1010

11-
$count = $testsLoopLimits['19_loop_except'];
11+
$count = $testsLoopLimits['21_loop_except'];
1212
$time_start = get_microtime();
1313
for ($i = 0; $i < $count; $i++) {
1414
try {

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /