<?php /* $Id: nestedloop.php,v 1.1 2004/02/16 14:35:19 tim Exp $ http://www.bagley.org/~doug/shootout/ */ $n = $argc == 2 ? $argv[1] : 100; nestedloop($n); function nestedloop($n) { $x = 0; for ($a = 0; $a < $n; $a++) { for ($b = 0; $b < $n; $b++) { for ($f = 0; $f < $n; $f++) { $x++; } } } print "{$x}\n"; }
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)"); hash1(50000); $t = end_test($t, "hash1(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");
function main_function() { for ($i = 0; $i < 100; ++$i) { ackermann(4); ary(50000); ary2(50000); ary3(100); fibo(23); hash1(10000); hash2(200); heapsort(2000); matrix(3); nestedloop(8); sieve(5); strcat(80000); binary_trees(7); fannkuch(6); } }
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(); nestedloop(14); $t = end_test($t, "nestedloop(12)");
function main_function() { ackermann(2); ary(500); ary2(500); ary3(5); fibo(13); hash1(100); hash2(20); heapsort(200); matrix(3); nestedloop(3); sieve(1); strcat(80); binary_trees(3); fannkuch(6); }
<?php 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"; } nestedloop(2);
static function nestedloop() { Timing::Start("nestedloop.php"); nestedloop(100); Timing::Stop(); }