10
10
# Author : Sergey Dryabzhinsky #
11
11
# Company : Rusoft Ltd, Russia #
12
12
# Date : Apr 20, 2017 #
13
- # version : 1.0.11 #
13
+ # version : 1.0.12 #
14
14
# License : Creative Commons CC-BY license #
15
15
# Website : https://git.rusoft.ru/open-source/php-simple-benchmark-script #
16
16
# #
17
17
################################################################################
18
18
*/
19
19
20
- $ scriptVersion = '1.0.11 ' ;
20
+ $ scriptVersion = '1.0.12 ' ;
21
21
22
22
$ stringTest = " the quick <b>brown</b> fox jumps <i>over</i> the lazy dog and eat <span>lorem ipsum</span> Valar morghulis <br/> \n\rабыр \nвалар дохаэрис " ;
23
23
$ regexPattern = '/[\s,]+/ ' ;
28
28
$ line = str_pad ("- " ,78 ,"- " );
29
29
$ padHeader = 76 ;
30
30
$ padInfo = 18 ;
31
- $ padLabel = 32 ;
31
+ $ padLabel = 31 ;
32
32
33
33
$ emptyResult = array (0 , '-.--- ' , '-.-- ' , '-.-- ' );
34
34
@@ -50,14 +50,32 @@ function convert($size)
50
50
51
51
function prefix_si($ size )
52
52
{
53
- $ unit =array (' ' ,'k ' ,'M ' ,'G ' ,'T ' ,'P ' ,' E ' );
53
+ $ unit =array (' ' , 'k ' , 'M ' , 'G ' , 'T ' , 'P ' , ' E ' , - 3 => ' m ' , - 6 => ' u ' );
54
54
$ i =floor (log ($ size ,1000 ));
55
+ if ($ i < 0 ) {
56
+ if ($ i <= -6 ) {
57
+ $ i = -6 ;
58
+ elseif ($ i <= -3 ) {
59
+ $ i = -3 ;
60
+ } else {
61
+ $ i =0 ;
62
+ }
63
+ }
55
64
return $ unit [$ i ];
56
65
}
57
66
58
67
function convert_si($ size )
59
68
{
60
69
$ i =floor (log ($ size ,1000 ));
70
+ if ($ i < 0 ) {
71
+ if ($ i <= -6 ) {
72
+ $ i = -6 ;
73
+ elseif ($ i <= -3 ) {
74
+ $ i = -3 ;
75
+ } else {
76
+ $ i =0 ;
77
+ }
78
+ }
61
79
return @round ($ size /pow (1000 , $ i ),2 );
62
80
}
63
81
@@ -157,7 +175,7 @@ function format_result_test($diffSeconds, $opCount)
157
175
158
176
$ opmhz = 0 ;
159
177
if (!empty ($ cpuInfo ['mhz ' ])) {
160
- $ opmhz = $ opCount / $ cpuInfo ['mhz ' ];
178
+ $ opmhz = $ ops / $ cpuInfo ['mhz ' ];
161
179
}
162
180
$ opmhz_v = convert_si ($ opmhz );
163
181
$ opmhz_u = prefix_si ($ opmhz );
@@ -167,7 +185,7 @@ function format_result_test($diffSeconds, $opCount)
167
185
number_format ($ opmhz_v , 2 , '. ' , '' ) . ' ' .$ opmhz_u ,
168
186
);
169
187
} else {
170
- return array (0 , '0.000 ' , 'x.xx ' , 'x.xx ' );
188
+ return array (0 , '0.000 ' , 'x.xx ' , 'x.xx ' );
171
189
}
172
190
}
173
191
@@ -506,15 +524,19 @@ function test_17_2_Loop_Undefined_Access($count = 20000000)
506
524
.str_pad ("PHP version: " , $ padInfo ) . " : " .PHP_VERSION . "\n"
507
525
.str_pad ("Benchmark version: " , $ padInfo ) . " : " .$ scriptVersion . "\n"
508
526
.str_pad ("Platform: " , $ padInfo ) . " : " .PHP_OS . "\n"
509
- ."$ line \n" ;
527
+ ."$ line \n"
528
+ .str_pad ('TEST NAME ' , $ padLabel ) . " : "
529
+ .str_pad ('SECONDS ' , 8 +4 , ' ' , STR_PAD_LEFT )." | " .str_pad ('OP/SEC ' , 9 +4 , ' ' , STR_PAD_LEFT )." | " .str_pad ('OP/SEC/MHz ' , 9 +7 , ' ' , STR_PAD_LEFT )."\n"
530
+ ."$ line \n"
531
+ ;
510
532
511
533
foreach ($ functions ['user ' ] as $ user ) {
512
534
if (preg_match ('/^test_/ ' , $ user )) {
513
535
$ testName = str_replace ('test_ ' ,'' ,$ user );
514
536
echo str_pad ($ testName , $ padLabel ) . " : " ;
515
537
list ($ resultSec , $ resultSecFmt , $ resultOps , $ resultOpMhz ) = $ user ();
516
538
$ total += $ resultSec ;
517
- echo str_pad ($ resultSecFmt , 8 , ' ' , STR_PAD_LEFT )." sec | " .str_pad ($ resultOps , 9 , ' ' , STR_PAD_LEFT )."Op/s | " .str_pad ($ resultOpMhz , 9 , ' ' , STR_PAD_LEFT )."Op/Mhz " ."\n" ;
539
+ echo str_pad ($ resultSecFmt , 8 , ' ' , STR_PAD_LEFT )." sec | " .str_pad ($ resultOps , 9 , ' ' , STR_PAD_LEFT )."Op/s | " .str_pad ($ resultOpMhz , 9 , ' ' , STR_PAD_LEFT )."Ops/MHz " ."\n" ;
518
540
}
519
541
}
520
542
0 commit comments