X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2Fbenchmark.php;h=01087011b369fe71c670b53d967e7be1ab52212b;hb=19b99735570521d8172f73124ade5997b9dca75d;hp=59a9cb8c8bb0bda6cb206f237b3fbd2acc309364;hpb=94e56278400ac8dac93b424b4bc17ba8449b6f75;p=plcapi.git diff --git a/tests/benchmark.php b/tests/benchmark.php index 59a9cb8..0108701 100644 --- a/tests/benchmark.php +++ b/tests/benchmark.php @@ -1,9 +1,10 @@ \n\n\n$title\n\n\n

$title

\n
\n";
-}
-else
-{
+} else {
     echo "$title\n\n";
 }
 
-if($is_web)
-{
-    echo "

Using lib version: ".PhpXmlRpc::$xmlrpcVersion." on PHP version: ".phpversion()."

\n"; - if ($xd) echo "

XDEBUG profiling enabled: skipping remote tests. Trace file is: ".htmlspecialchars(xdebug_get_profiler_filename())."

\n"; +if ($is_web) { + echo "

Using lib version: " . PhpXmlRpc::$xmlrpcVersion . " on PHP version: " . phpversion() . "

\n"; + if ($xd) { + echo "

XDEBUG profiling enabled: skipping remote tests. Trace file is: " . htmlspecialchars(xdebug_get_profiler_filename()) . "

\n"; + } flush(); ob_flush(); -} -else -{ - echo "Using lib version: ".PhpXmlRpc::$xmlrpcVersion." on PHP version: ".phpversion()."\n"; - if ($xd) echo "XDEBUG profiling enabled: skipping remote tests\nTrace file is: ".xdebug_get_profiler_filename()."\n"; +} else { + echo "Using lib version: " . PhpXmlRpc::$xmlrpcVersion . " on PHP version: " . phpversion() . "\n"; + if ($xd) { + echo "XDEBUG profiling enabled: skipping remote tests\nTrace file is: " . xdebug_get_profiler_filename() . "\n"; + } } // test 'old style' data encoding vs. 'automatic style' encoding begin_test('Data encoding (large array)', 'manual encoding'); -for ($i = 0; $i < $num_tests; $i++) -{ +for ($i = 0; $i < $num_tests; $i++) { $vals = array(); - for ($j = 0; $j < 10; $j++) - { + for ($j = 0; $j < 10; $j++) { $valarray = array(); - foreach ($data[$j] as $key => $val) - { + foreach ($data[$j] as $key => $val) { $values = array(); $values[] = new Value($val[0], 'int'); $values[] = new Value($val[1], 'double'); @@ -116,24 +115,21 @@ end_test('Data encoding (large array)', 'manual encoding', $out); begin_test('Data encoding (large array)', 'automatic encoding'); $encoder = new Encoder(); -for ($i = 0; $i < $num_tests; $i++) -{ +for ($i = 0; $i < $num_tests; $i++) { $value = $encoder->encode($data, array('auto_dates')); $out = $value->serialize(); } end_test('Data encoding (large array)', 'automatic encoding', $out); -if (function_exists('xmlrpc_set_type')) -{ +if (function_exists('xmlrpc_set_type')) { begin_test('Data encoding (large array)', 'xmlrpc-epi encoding'); - for ($i = 0; $i < $num_tests; $i++) - { - for ($j = 0; $j < 10; $j++) - foreach ($keys as $k) - { + for ($i = 0; $i < $num_tests; $i++) { + for ($j = 0; $j < 10; $j++) { + foreach ($keys as $k) { xmlrpc_set_type($data[$j][$k][4], 'datetime'); xmlrpc_set_type($data[$j][$k][8], 'datetime'); } + } $out = xmlrpc_encode($data); } end_test('Data encoding (large array)', 'xmlrpc-epi encoding', $out); @@ -142,23 +138,19 @@ if (function_exists('xmlrpc_set_type')) // test 'old style' data decoding vs. 'automatic style' decoding $dummy = new Request(''); $out = new Response($value); -$in = ''."\n".$out->serialize(); +$in = '' . "\n" . $out->serialize(); begin_test('Data decoding (large array)', 'manual decoding'); -for ($i = 0; $i < $num_tests; $i++) -{ +for ($i = 0; $i < $num_tests; $i++) { $response = $dummy->ParseResponse($in, true); $value = $response->value(); $result = array(); - for ($k = 0; $k < $value->arraysize(); $k++) - { + for ($k = 0; $k < $value->arraysize(); $k++) { $val1 = $value->arraymem($k); $out = array(); - while (list($name, $val) = $val1->structeach()) - { + while (list($name, $val) = $val1->structeach()) { $out[$name] = array(); - for ($j = 0; $j < $val->arraysize(); $j++) - { + for ($j = 0; $j < $val->arraysize(); $j++) { $data = $val->arraymem($j); $out[$name][] = $data->scalarval(); } @@ -169,42 +161,36 @@ for ($i = 0; $i < $num_tests; $i++) end_test('Data decoding (large array)', 'manual decoding', $result); begin_test('Data decoding (large array)', 'automatic decoding'); -for ($i = 0; $i < $num_tests; $i++) -{ +for ($i = 0; $i < $num_tests; $i++) { $response = $dummy->ParseResponse($in, true, 'phpvals'); $value = $response->value(); } end_test('Data decoding (large array)', 'automatic decoding', $value); -if (function_exists('xmlrpc_decode')) -{ +if (function_exists('xmlrpc_decode')) { begin_test('Data decoding (large array)', 'xmlrpc-epi decoding'); - for ($i = 0; $i < $num_tests; $i++) - { + for ($i = 0; $i < $num_tests; $i++) { $response = $dummy->ParseResponse($in, true, 'xml'); $value = xmlrpc_decode($response->value()); } end_test('Data decoding (large array)', 'xmlrpc-epi decoding', $value); } -if (!$xd) -{ +if (!$xd) { /// test multicall vs. many calls vs. keep-alives $encoder = new Encoder(); $value = $encoder->encode($data1, array('auto_dates')); $req = new Request('interopEchoTests.echoValue', array($value)); $reqs = array(); - for ($i = 0; $i < 25; $i++) + for ($i = 0; $i < 25; $i++) { $reqs[] = $req; + } $server = explode(':', $args['LOCALSERVER']); - if(count($server) > 1) - { + if (count($server) > 1) { $srv = $server[1] . '://' . $server[0] . $args['URI']; $c = new Client($args['URI'], $server[0], $server[1]); - } - else - { + } else { $srv = $args['LOCALSERVER'] . $args['URI']; $c = new Client($args['URI'], $args['LOCALSERVER']); } @@ -219,19 +205,16 @@ if (!$xd) } begin_test($testName, 'http 10'); $response = array(); - for ($i = 0; $i < 25; $i++) - { + for ($i = 0; $i < 25; $i++) { $resp = $c->send($req); $response[] = $resp->value(); } end_test($testName, 'http 10', $response); - if (function_exists('curl_init')) - { + if (function_exists('curl_init')) { begin_test($testName, 'http 11 w. keep-alive'); $response = array(); - for ($i = 0; $i < 25; $i++) - { + for ($i = 0; $i < 25; $i++) { $resp = $c->send($req, 10, 'http11'); $response[] = $resp->value(); } @@ -240,8 +223,7 @@ if (!$xd) $c->keepalive = false; begin_test($testName, 'http 11'); $response = array(); - for ($i = 0; $i < 25; $i++) - { + for ($i = 0; $i < 25; $i++) { $resp = $c->send($req, 10, 'http11'); $response[] = $resp->value(); } @@ -250,32 +232,27 @@ if (!$xd) begin_test($testName, 'multicall'); $response = $c->send($reqs); - foreach ($response as $key =>& $val) - { + foreach ($response as $key => & $val) { $val = $val->value(); } end_test($testName, 'multicall', $response); - if (function_exists('gzinflate')) - { + if (function_exists('gzinflate')) { $c->accepted_compression = array('gzip'); $c->request_compression = 'gzip'; begin_test($testName, 'http 10 w. compression'); $response = array(); - for ($i = 0; $i < 25; $i++) - { + for ($i = 0; $i < 25; $i++) { $resp = $c->send($req); $response[] = $resp->value(); } end_test($testName, 'http 10 w. compression', $response); - if (function_exists('curl_init')) - { + if (function_exists('curl_init')) { begin_test($testName, 'http 11 w. keep-alive and compression'); $response = array(); - for ($i = 0; $i < 25; $i++) - { + for ($i = 0; $i < 25; $i++) { $resp = $c->send($req, 10, 'http11'); $response[] = $resp->value(); } @@ -284,8 +261,7 @@ if (!$xd) $c->keepalive = false; begin_test($testName, 'http 11 w. compression'); $response = array(); - for ($i = 0; $i < 25; $i++) - { + for ($i = 0; $i < 25; $i++) { $resp = $c->send($req, 10, 'http11'); $response[] = $resp->value(); } @@ -294,26 +270,22 @@ if (!$xd) begin_test($testName, 'multicall w. compression'); $response = $c->send($reqs); - foreach ($response as $key =>& $val) - { + foreach ($response as $key => & $val) { $val = $val->value(); } end_test($testName, 'multicall w. compression', $response); } - } // end of 'if no xdebug profiling' echo "\n"; -foreach($test_results as $test => $results) -{ +foreach ($test_results as $test => $results) { echo "\nTEST: $test\n"; - foreach ($results as $case => $data) - echo " $case: {$data['time']} secs - Output data CRC: ".crc32(serialize($data['result']))."\n"; + foreach ($results as $case => $data) { + echo " $case: {$data['time']} secs - Output data CRC: " . crc32(serialize($data['result'])) . "\n"; + } } - -if($is_web) -{ +if ($is_web) { echo "\n
\n\n\n"; }