/mobile Handheld Friendly website
Ubuntu : Intel® Q6600® one core |
Each table row shows performance measurements for this PHP program with a particular command-line input value N.
| N | CPU secs | Elapsed secs | Memory KB | Code B | ≈ CPU Load |
|---|---|---|---|---|---|
| 10 | 14.77 | 14.77 | 2,472 | 441 | 0% 0% 0% 100% |
| 11 | 191.50 | 191.56 | 2,476 | 441 | 0% 0% 0% 100% |
| 12 | 2,707.35 | 2,708.13 | 2,476 | 441 | 0% 0% 0% 100% |
Read the ↓ make, command line, and program output logs to see how this program was run.
Read fannkuch-redux benchmark to see what this program should do.
PHP 5.4.11 (cli) (built: Jan 27 2013 11:58:31)
<?php /* The Computer Language Benchmarks Game http://benchmarksgame.alioth.debian.org/ contributed by Isaac Gouy, transliterated from Mike Pall's Lua program further optimization by Oleksii Prudkyi */ $n = (int)$argv[1]; $s = range(0, $n - 1); $i = $maxflips = $checksum = 0; $sign = 1; $m = $n - 1; $p = $q = $s; do { // Copy and flip. $q0 = $p[0]; if ($q0 != 0){ $q = $p; $flips = 1; do { $qq = $q[$q0]; if ($qq == 0){ $checksum += $sign*$flips; if ($flips > $maxflips) $maxflips = $flips; break; } $q[$q0] = $q0; if ($q0 >= 3){ $i = 1; $j = $q0 - 1; do { $t = $q[$i]; $q[$i] = $q[$j]; $q[$j] = $t; ++$i; --$j; } while ($i < $j); } $q0 = $qq; ++$flips; } while (true); } // Permute. if ($sign == 1){ $t = $p[1]; $p[1] = $p[0]; $p[0] = $t; $sign = -1; // Rotate 0<-1. } else { $t = $p[1]; $p[1] = $p[2]; $p[2] = $t; $sign = 1; // Rotate 1<-2. for($i=2; $i<$n; ){ $sx = &$s[$i]; if ($sx != 0) { --$sx; break; } if ($i == $m){ printf("%d\nPfannkuchen(%d) = %d\n", $checksum, $n, $maxflips);// Out of permutations. return; } $s[$i] = $i; // Rotate 0<-...<-i+1. $t = $p[0]; for($j=0; $j<=$i; ){ $p[$j++] = $p[$j]; } ++$i; $p[$i] = $t; } } } while (true);
Sun, 27 Jan 2013 21:26:39 GMT COMMAND LINE: /usr/local/src/php-5.4.11/bin/php -n fannkuchredux.php-2.php 12 PROGRAM OUTPUT: 3968050 Pfannkuchen(12) = 65