diff options
Diffstat (limited to 'Zend/bench.php')
-rw-r--r-- | Zend/bench.php | 419 |
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"); -?> |