Skip to content

Commit d44e985

Browse files
Version 1.0.31
- fix serialization tests - object available only for php-5+
1 parent 3fd9535 commit d44e985

File tree

2 files changed

+77
-53
lines changed

2 files changed

+77
-53
lines changed

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,13 @@ env PHP_MEMORY_LIMIT=64 PHP_TIME_LIMIT=30 php bench.php
7878

7979
## ChangeLog
8080

81+
@ 2018-08-08, v1.0.31
82+
83+
* Исправили тесты с различной сериализацией - объекты есть только в php-5+
84+
8185
@ 2018-08-08, v1.0.30
8286

83-
* Добавили в некоторых тестах к объекту тестирования поля с разными типами данных
87+
* Добавили в некоторых тестах сериализации к объекту тестирования поля с разными типами данных
8488
* Поправили тесты xmlrpc - в php-7.2+libxmlrpc-epi проблемы со строками с html-тегами
8589

8690
@ 2018-08-08, v1.0.29
@@ -208,7 +212,7 @@ env PHP_MEMORY_LIMIT=64 PHP_TIME_LIMIT=30 php bench.php
208212
* Изменены названия функций-тестов для сортировки перед запуском
209213
* Обновлено форматирование вывода результатов тестов
210214
* Добавлены и обновлены тесты:
211-
- образение к определенныи и неопределенным переменным/ключам массива
215+
- обращение к определенныи и неопределенным переменным/ключам массива
212216
- исключения (exceptions)
213217
- к хешированию добавлен тест crypt
214218
- тест массивов разбит на три уровня - время выполнения то же, памяти занимает меньше

bench.php

Lines changed: 71 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@
1010
# Author : Sergey Dryabzhinsky #
1111
# Company : Rusoft Ltd, Russia #
1212
# Date : Aug 08, 2018 #
13-
# Version : 1.0.30 #
13+
# Version : 1.0.31 #
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.30';
21+
$scriptVersion = '1.0.31';
2222

2323
// Used in hacks/fixes checks
2424
$phpversion = explode('.', PHP_VERSION);
@@ -34,7 +34,12 @@
3434
print('<pre><<< ERROR >>> Need PHP 4.3+! Current version is ' . PHP_VERSION . '</pre>');
3535
exit(1);
3636
}
37-
37+
if (!defined('PHP_MAJOR_VERSION')) {
38+
define('PHP_MAJOR_VERSION', (int)$phpversion[0]);
39+
}
40+
if (!defined('PHP_MINOR_VERSION')) {
41+
define('PHP_MINOR_VERSION', (int)$phpversion[1]);
42+
}
3843

3944
$stringTest = " the quick <b>brown</b> fox jumps <i>over</i> the lazy dog and eat <span>lorem ipsum</span><br/> Valar morghulis <br/>\n\rабыр\nвалар дохаэрис ";
4045
$regexPattern = '/[\s,]+/';
@@ -919,22 +924,24 @@ function test_09_Json_Encode()
919924
return $emptyResult;
920925
}
921926

922-
$obj = new stdClass();
923-
$obj->fieldStr = 'value';
924-
$obj->fieldInt = 123456;
925-
$obj->fieldFloat = 123.456;
926-
$obj->fieldArray = array(123456);
927-
$obj->fieldNull = null;
928-
$obj->fieldBool = false;
929927
$data = array(
930928
$stringTest,
931929
123456,
932930
123.456,
933931
array(123456),
934932
null,
935933
false,
936-
$obj,
937934
);
935+
if (PHP_MAJOR_VERSION >=5) {
936+
$obj = new stdClass();
937+
$obj->fieldStr = 'value';
938+
$obj->fieldInt = 123456;
939+
$obj->fieldFloat = 123.456;
940+
$obj->fieldArray = array(123456);
941+
$obj->fieldNull = null;
942+
$obj->fieldBool = false;
943+
$data[] = $obj;
944+
}
938945

939946
$count = $testsLoopLimits['09_json_encode'];
940947
$time_start = get_microtime();
@@ -955,22 +962,25 @@ function test_10_Json_Decode()
955962
return $emptyResult;
956963
}
957964

958-
$obj = new stdClass();
959-
$obj->fieldStr = 'value';
960-
$obj->fieldInt = 123456;
961-
$obj->fieldFloat = 123.456;
962-
$obj->fieldArray = array(123456);
963-
$obj->fieldNull = null;
964-
$obj->fieldBool = false;
965965
$data = array(
966966
$stringTest,
967967
123456,
968968
123.456,
969969
array(123456),
970970
null,
971971
false,
972-
$obj,
973972
);
973+
if (PHP_MAJOR_VERSION >=5) {
974+
$obj = new stdClass();
975+
$obj->fieldStr = 'value';
976+
$obj->fieldInt = 123456;
977+
$obj->fieldFloat = 123.456;
978+
$obj->fieldArray = array(123456);
979+
$obj->fieldNull = null;
980+
$obj->fieldBool = false;
981+
$data[] = $obj;
982+
}
983+
974984
foreach ($data as $key => $value) {
975985
$data[$key] = json_encode($value);
976986
}
@@ -994,22 +1004,24 @@ function test_11_Serialize()
9941004
return $emptyResult;
9951005
}
9961006

997-
$obj = new stdClass();
998-
$obj->fieldStr = 'value';
999-
$obj->fieldInt = 123456;
1000-
$obj->fieldFloat = 123.456;
1001-
$obj->fieldArray = array(123456);
1002-
$obj->fieldNull = null;
1003-
$obj->fieldBool = false;
10041007
$data = array(
10051008
$stringTest,
10061009
123456,
10071010
123.456,
10081011
array(123456),
10091012
null,
10101013
false,
1011-
$obj,
10121014
);
1015+
if (PHP_MAJOR_VERSION >=5) {
1016+
$obj = new stdClass();
1017+
$obj->fieldStr = 'value';
1018+
$obj->fieldInt = 123456;
1019+
$obj->fieldFloat = 123.456;
1020+
$obj->fieldArray = array(123456);
1021+
$obj->fieldNull = null;
1022+
$obj->fieldBool = false;
1023+
$data[] = $obj;
1024+
}
10131025

10141026
$count = $testsLoopLimits['11_serialize'];
10151027
$time_start = get_microtime();
@@ -1030,22 +1042,25 @@ function test_12_Unserialize()
10301042
return $emptyResult;
10311043
}
10321044

1033-
$obj = new stdClass();
1034-
$obj->fieldStr = 'value';
1035-
$obj->fieldInt = 123456;
1036-
$obj->fieldFloat = 123.456;
1037-
$obj->fieldArray = array(123456);
1038-
$obj->fieldNull = null;
1039-
$obj->fieldBool = false;
10401045
$data = array(
10411046
$stringTest,
10421047
123456,
10431048
123.456,
10441049
array(123456),
10451050
null,
10461051
false,
1047-
$obj,
10481052
);
1053+
if (PHP_MAJOR_VERSION >=5) {
1054+
$obj = new stdClass();
1055+
$obj->fieldStr = 'value';
1056+
$obj->fieldInt = 123456;
1057+
$obj->fieldFloat = 123.456;
1058+
$obj->fieldArray = array(123456);
1059+
$obj->fieldNull = null;
1060+
$obj->fieldBool = false;
1061+
$data[] = $obj;
1062+
}
1063+
10491064
foreach ($data as $key => $value) {
10501065
$data[$key] = serialize($value);
10511066
}
@@ -1268,13 +1283,6 @@ function test_24_XmlRpc_Encode()
12681283
return $emptyResult;
12691284
}
12701285

1271-
$obj = new stdClass();
1272-
$obj->fieldStr = 'value';
1273-
$obj->fieldInt = 123456;
1274-
$obj->fieldFloat = 123.456;
1275-
$obj->fieldArray = array(123456);
1276-
$obj->fieldNull = null;
1277-
$obj->fieldBool = false;
12781286
$data = array(
12791287
// XmlRpc don't like html tags (php-7.2 + libxmlrpc-epi)
12801288
base64_encode($stringTest),
@@ -1283,8 +1291,17 @@ function test_24_XmlRpc_Encode()
12831291
array(123456),
12841292
null,
12851293
false,
1286-
$obj,
12871294
);
1295+
if (PHP_MAJOR_VERSION >=5) {
1296+
$obj = new stdClass();
1297+
$obj->fieldStr = 'value';
1298+
$obj->fieldInt = 123456;
1299+
$obj->fieldFloat = 123.456;
1300+
$obj->fieldArray = array(123456);
1301+
$obj->fieldNull = null;
1302+
$obj->fieldBool = false;
1303+
$data[] = $obj;
1304+
}
12881305

12891306
$count = $testsLoopLimits['24_xmlrpc_encode'];
12901307
$time_start = get_microtime();
@@ -1305,13 +1322,6 @@ function test_25_XmlRpc_Decode()
13051322
return $emptyResult;
13061323
}
13071324

1308-
$obj = new stdClass();
1309-
$obj->fieldStr = 'value';
1310-
$obj->fieldInt = 123456;
1311-
$obj->fieldFloat = 123.456;
1312-
$obj->fieldArray = array(123456);
1313-
$obj->fieldNull = null;
1314-
$obj->fieldBool = false;
13151325
$data = array(
13161326
// XmlRpc don't like html tags (php-7.2 + libxmlrpc-epi)
13171327
base64_encode($stringTest),
@@ -1320,8 +1330,18 @@ function test_25_XmlRpc_Decode()
13201330
array(123456),
13211331
null,
13221332
false,
1323-
$obj,
13241333
);
1334+
if (PHP_MAJOR_VERSION >=5) {
1335+
$obj = new stdClass();
1336+
$obj->fieldStr = 'value';
1337+
$obj->fieldInt = 123456;
1338+
$obj->fieldFloat = 123.456;
1339+
$obj->fieldArray = array(123456);
1340+
$obj->fieldNull = null;
1341+
$obj->fieldBool = false;
1342+
$data[] = $obj;
1343+
}
1344+
13251345
foreach ($data as $key => $value) {
13261346
$data[$key] = xmlrpc_encode($value);
13271347
}

0 commit comments

Comments
 (0)