Each table row shows performance measurements for this Pyston program with a particular command-line input value N.
N | CPU secs | Elapsed secs | Memory KB | Code B | ≈ CPU Load |
---|---|---|---|---|---|
10 | 2.32 | 2.32 | 7,860 | 552 | 1% 1% 2% 1% 0% 100% 0% 0% |
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.
# The Computer Language Benchmarks Game # http://benchmarksgame.alioth.debian.org/ # contributed by Isaac Gouy # converted to Java by Oleg Mazurov # converted to Python by Buck Golemon # modified by Justin Peel def fannkuch(n): maxFlipsCount = 0 permSign = True checksum = 0 perm1 = list(range(n)) count = perm1[:] rxrange = range(2, n - 1) nm = n - 1 while 1: k = perm1[0] if k: perm = perm1[:] flipsCount = 1 kk = perm[k] while kk: perm[:k+1] = perm[k::-1] flipsCount += 1 k = kk kk = perm[kk] if maxFlipsCount < flipsCount: maxFlipsCount = flipsCount checksum += flipsCount if permSign else -flipsCount # Use incremental change to generate another permutation if permSign: perm1[0],perm1[1] = perm1[1],perm1[0] permSign = False else: perm1[1],perm1[2] = perm1[2],perm1[1] permSign = True for r in rxrange: if count[r]: break count[r] = r perm0 = perm1[0] perm1[:r+1] = perm1[1:r+2] perm1[r+1] = perm0 else: r = nm if not count[r]: print( checksum ) return maxFlipsCount count[r] -= 1 from sys import argv n = int(argv[1]) print(( "Pfannkuchen(%i) = %i" % (n, fannkuch(n)) ))
Wed, 28 Sep 2022 08:53:21 GMT COMMAND LINE: /usr/bin/pyston fannkuchredux.pyston-6.pyston 10 PROGRAM OUTPUT: 73196 Pfannkuchen(10) = 38