summaryrefslogtreecommitdiff
path: root/Zend/bench.php
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/bench.php')
-rw-r--r--Zend/bench.php419
1 files changed, 0 insertions, 419 deletions
diff --git a/Zend/bench.php b/Zend/bench.php
deleted file mode 100644
index 9f3f9c205b..0000000000
--- a/Zend/bench.php
+++ /dev/null
@@ -1,419 +0,0 @@
-<?php
-
-function simple() {
- $a = 0;
- for ($i = 0; $i < 1000000; $i++)
- $a++;
-
- $thisisanotherlongname = 0;
- for ($thisisalongname = 0; $thisisalongname < 1000000; $thisisalongname++)
- $thisisanotherlongname++;
-}
-
-/****/
-
-function simplecall() {
- for ($i = 0; $i < 1000000; $i++)
- strlen("hallo");
-}
-
-/****/
-
-function hallo($a) {
-}
-
-function simpleucall() {
- for ($i = 0; $i < 1000000; $i++)
- hallo("hallo");
-}
-
-/****/
-
-function simpleudcall() {
- for ($i = 0; $i < 1000000; $i++)
- hallo2("hallo");
-}
-
-function hallo2($a) {
-}
-
-/****/
-
-function mandel() {
- $w1=50;
- $h1=150;
- $recen=-.45;
- $imcen=0.0;
- $r=0.7;
- $s=0; $rec=0; $imc=0; $re=0; $im=0; $re2=0; $im2=0;
- $x=0; $y=0; $w2=0; $h2=0; $color=0;
- $s=2*$r/$w1;
- $w2=40;
- $h2=12;
- for ($y=0 ; $y<=$w1; $y=$y+1) {
- $imc=$s*($y-$h2)+$imcen;
- for ($x=0 ; $x<=$h1; $x=$x+1) {
- $rec=$s*($x-$w2)+$recen;
- $re=$rec;
- $im=$imc;
- $color=1000;
- $re2=$re*$re;
- $im2=$im*$im;
- while( ((($re2+$im2)<1000000) && $color>0)) {
- $im=$re*$im*2+$imc;
- $re=$re2-$im2+$rec;
- $re2=$re*$re;
- $im2=$im*$im;
- $color=$color-1;
- }
- if ( $color==0 ) {
- print "_";
- } else {
- print "#";
- }
- }
- print "<br>";
- flush();
- }
-}
-
-/****/
-
-function mandel2() {
- $b = " .:,;!/>)|&IH%*#";
- //float r, i, z, Z, t, c, C;
- for ($y=30; printf("\n"), $C = $y*0.1 - 1.5, $y--;){
- for ($x=0; $c = $x*0.04 - 2, $z=0, $Z=0, $x++ < 75;){
- for ($r=$c, $i=$C, $k=0; $t = $z*$z - $Z*$Z + $r, $Z = 2*$z*$Z + $i, $z=$t, $k<5000; $k++)
- if ($z*$z + $Z*$Z > 500000) break;
- echo $b[$k%16];
- }
- }
-}
-
-/****/
-
-function Ack($m, $n){
- if($m == 0) return $n+1;
- if($n == 0) return Ack($m-1, 1);
- return Ack($m - 1, Ack($m, ($n - 1)));
-}
-
-function ackermann($n) {
- $r = Ack(3,$n);
- print "Ack(3,$n): $r\n";
-}
-
-/****/
-
-function ary($n) {
- for ($i=0; $i<$n; $i++) {
- $X[$i] = $i;
- }
- for ($i=$n-1; $i>=0; $i--) {
- $Y[$i] = $X[$i];
- }
- $last = $n-1;
- print "$Y[$last]\n";
-}
-
-/****/
-
-function ary2($n) {
- for ($i=0; $i<$n;) {
- $X[$i] = $i; ++$i;
- $X[$i] = $i; ++$i;
- $X[$i] = $i; ++$i;
- $X[$i] = $i; ++$i;
- $X[$i] = $i; ++$i;
-
- $X[$i] = $i; ++$i;
- $X[$i] = $i; ++$i;
- $X[$i] = $i; ++$i;
- $X[$i] = $i; ++$i;
- $X[$i] = $i; ++$i;
- }
- for ($i=$n-1; $i>=0;) {
- $Y[$i] = $X[$i]; --$i;
- $Y[$i] = $X[$i]; --$i;
- $Y[$i] = $X[$i]; --$i;
- $Y[$i] = $X[$i]; --$i;
- $Y[$i] = $X[$i]; --$i;
-
- $Y[$i] = $X[$i]; --$i;
- $Y[$i] = $X[$i]; --$i;
- $Y[$i] = $X[$i]; --$i;
- $Y[$i] = $X[$i]; --$i;
- $Y[$i] = $X[$i]; --$i;
- }
- $last = $n-1;
- print "$Y[$last]\n";
-}
-
-/****/
-
-function ary3($n) {
- for ($i=0; $i<$n; $i++) {
- $X[$i] = $i + 1;
- $Y[$i] = 0;
- }
- for ($k=0; $k<1000; $k++) {
- for ($i=$n-1; $i>=0; $i--) {
- $Y[$i] += $X[$i];
- }
- }
- $last = $n-1;
- print "$Y[0] $Y[$last]\n";
-}
-
-/****/
-
-function fibo_r($n){
- return(($n < 2) ? 1 : fibo_r($n - 2) + fibo_r($n - 1));
-}
-
-function fibo($n) {
- $r = fibo_r($n);
- print "$r\n";
-}
-
-/****/
-
-function hash($n) {
- for ($i = 1; $i <= $n; $i++) {
- $X[dechex($i)] = $i;
- }
- $c = 0;
- for ($i = $n; $i > 0; $i--) {
- if ($X[dechex($i)]) { $c++; }
- }
- print "$c\n";
-}
-
-/****/
-
-function hash2($n) {
- for ($i = 0; $i < $n; $i++) {
- $hash1["foo_$i"] = $i;
- $hash2["foo_$i"] = 0;
- }
- for ($i = $n; $i > 0; $i--) {
- foreach($hash1 as $key => $value) $hash2[$key] += $value;
- }
- $first = "foo_0";
- $last = "foo_".($n-1);
- print "$hash1[$first] $hash1[$last] $hash2[$first] $hash2[$last]\n";
-}
-
-/****/
-
-function gen_random ($n) {
- global $LAST;
- return( ($n * ($LAST = ($LAST * IA + IC) % IM)) / IM );
-}
-
-function heapsort_r($n, &$ra) {
- $l = ($n >> 1) + 1;
- $ir = $n;
-
- while (1) {
- if ($l > 1) {
- $rra = $ra[--$l];
- } else {
- $rra = $ra[$ir];
- $ra[$ir] = $ra[1];
- if (--$ir == 1) {
- $ra[1] = $rra;
- return;
- }
- }
- $i = $l;
- $j = $l << 1;
- while ($j <= $ir) {
- if (($j < $ir) && ($ra[$j] < $ra[$j+1])) {
- $j++;
- }
- if ($rra < $ra[$j]) {
- $ra[$i] = $ra[$j];
- $j += ($i = $j);
- } else {
- $j = $ir + 1;
- }
- }
- $ra[$i] = $rra;
- }
-}
-
-function heapsort($N) {
- global $LAST;
-
- define("IM", 139968);
- define("IA", 3877);
- define("IC", 29573);
-
- $LAST = 42;
- for ($i=1; $i<=$N; $i++) {
- $ary[$i] = gen_random(1);
- }
- heapsort_r($N, $ary);
- printf("%.10f\n", $ary[$N]);
-}
-
-/****/
-
-function mkmatrix ($rows, $cols) {
- $count = 1;
- $mx = array();
- for ($i=0; $i<$rows; $i++) {
- for ($j=0; $j<$cols; $j++) {
- $mx[$i][$j] = $count++;
- }
- }
- return($mx);
-}
-
-function mmult ($rows, $cols, $m1, $m2) {
- $m3 = array();
- for ($i=0; $i<$rows; $i++) {
- for ($j=0; $j<$cols; $j++) {
- $x = 0;
- for ($k=0; $k<$cols; $k++) {
- $x += $m1[$i][$k] * $m2[$k][$j];
- }
- $m3[$i][$j] = $x;
- }
- }
- return($m3);
-}
-
-function matrix($n) {
- $SIZE = 30;
- $m1 = mkmatrix($SIZE, $SIZE);
- $m2 = mkmatrix($SIZE, $SIZE);
- while ($n--) {
- $mm = mmult($SIZE, $SIZE, $m1, $m2);
- }
- print "{$mm[0][0]} {$mm[2][3]} {$mm[3][2]} {$mm[4][4]}\n";
-}
-
-/****/
-
-function nestedloop($n) {
- $x = 0;
- for ($a=0; $a<$n; $a++)
- for ($b=0; $b<$n; $b++)
- for ($c=0; $c<$n; $c++)
- for ($d=0; $d<$n; $d++)
- for ($e=0; $e<$n; $e++)
- for ($f=0; $f<$n; $f++)
- $x++;
- print "$x\n";
-}
-
-/****/
-
-function sieve($n) {
- $count = 0;
- while ($n-- > 0) {
- $count = 0;
- $flags = range (0,8192);
- for ($i=2; $i<8193; $i++) {
- if ($flags[$i] > 0) {
- for ($k=$i+$i; $k <= 8192; $k+=$i) {
- $flags[$k] = 0;
- }
- $count++;
- }
- }
- }
- print "Count: $count\n";
-}
-
-/****/
-
-function strcat($n) {
- $str = "";
- while ($n-- > 0) {
- $str .= "hello\n";
- }
- $len = strlen($str);
- print "$len\n";
-}
-
-/*****/
-
-function getmicrotime()
-{
- $t = gettimeofday();
- return ($t['sec'] + $t['usec'] / 1000000);
-}
-
-function start_test()
-{
- ob_start();
- return getmicrotime();
-}
-
-function end_test($start, $name)
-{
- global $total;
- $end = getmicrotime();
- ob_end_clean();
- $total += $end-$start;
- $num = number_format($end-$start,3);
- $pad = str_repeat(" ", 24-strlen($name)-strlen($num));
-
- echo $name.$pad.$num."\n";
- ob_start();
- return getmicrotime();
-}
-
-function total()
-{
- global $total;
- $pad = str_repeat("-", 24);
- echo $pad."\n";
- $num = number_format($total,3);
- $pad = str_repeat(" ", 24-strlen("Total")-strlen($num));
- echo "Total".$pad.$num."\n";
-}
-
-$t0 = $t = start_test();
-simple();
-$t = end_test($t, "simple");
-simplecall();
-$t = end_test($t, "simplecall");
-simpleucall();
-$t = end_test($t, "simpleucall");
-simpleudcall();
-$t = end_test($t, "simpleudcall");
-mandel();
-$t = end_test($t, "mandel");
-mandel2();
-$t = end_test($t, "mandel2");
-ackermann(7);
-$t = end_test($t, "ackermann(7)");
-ary(50000);
-$t = end_test($t, "ary(50000)");
-ary2(50000);
-$t = end_test($t, "ary2(50000)");
-ary3(2000);
-$t = end_test($t, "ary3(2000)");
-fibo(30);
-$t = end_test($t, "fibo(30)");
-hash(50000);
-$t = end_test($t, "hash(50000)");
-hash2(500);
-$t = end_test($t, "hash2(500)");
-heapsort(20000);
-$t = end_test($t, "heapsort(20000)");
-matrix(20);
-$t = end_test($t, "matrix(20)");
-nestedloop(12);
-$t = end_test($t, "nestedloop(12)");
-sieve(30);
-$t = end_test($t, "sieve(30)");
-strcat(200000);
-$t = end_test($t, "strcat(200000)");
-total($t0, "Total");
-?>