/mobile Handheld Friendly website
Ubuntu : Intel® Q6600® quad-core |
Each table row shows performance measurements for this Haskell GHC program with a particular command-line input value N.
| N | CPU secs | Elapsed secs | Memory KB | Code B | ≈ CPU Load |
|---|---|---|---|---|---|
| 10 | 5.68 | 4.04 | 2,816 | 553 | 67% 20% 45% 9% |
| 11 | 72.33 | 50.93 | 3,316 | 553 | 47% 24% 22% 50% |
| 12 | 972.36 | 685.38 | 3,588 | 553 | 34% 42% 38% 30% |
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.
llvm version 3.1-2ubuntu1
The Glorious Glasgow Haskell Compilation System, version 7.6.2
{- The Computer Language Benchmarks Game http://benchmarksgame.alioth.debian.org/ contributed by Miha Vučkovič -} import System.Environment import Control.Applicative flop (2:x1:t) = x1:2:t flop (3:x1:x2:t) = x2:x1:3:t flop (4:x1:x2:x3:t) = x3:x2:x1:4:t flop (5:x1:x2:x3:x4:t) = x4:x3:x2:x1:5:t flop (6:x1:x2:x3:x4:x5:t) = x5:x4:x3:x2:x1:6:t flop (7:x1:x2:x3:x4:x5:x6:t) = x6:x5:x4:x3:x2:x1:7:t flop lst@(h:_) = r where (t, r) = flop' h (lst, t) flop' 0 (t, r) = (t, r) flop' n ((h:t), r) = flop' (n-1) (t, h:r) flopS (1:_) = 0 flopS lst = 1 + flopS (flop lst) rotate n (h:t) = rotate' (n-1) t where rotate' 0 l = h:l rotate' n (f:t) = f:(rotate' (n-1) t) checksum i f | mod i 2 == 0 = f | True = -f pfold r [] = r pfold (ac, af) ((c, f):t) = seq sc $ seq sf $ pfold (sc, sf) t where sc = ac+c sf = max af f permut n = foldr perm [[1..n]] [2..n] where perm x lst = concat [take x $ iterate (rotate x) l | l <- lst] main = do n <- read.head <$> getArgs let (chksm, mflops) = pfold (0,0) $ map (\(i, p) -> let flops = flopS p in (checksum i flops, flops)) $ zip [0..] (permut n) putStrLn $ (show chksm) ++ "\nPfannkuchen(" ++ (show n) ++ ") = " ++ (show $ mflops)
Thu, 31 Jan 2013 04:30:00 GMT MAKE: mv fannkuchredux.ghc fannkuchredux.hs /usr/local/src/ghc-7.6.2/bin/ghc --make -fllvm -O2 -XBangPatterns -threaded -rtsopts fannkuchredux.hs -o fannkuchredux.ghc_run [1 of 1] Compiling Main ( fannkuchredux.hs, fannkuchredux.o ) Linking fannkuchredux.ghc_run ... rm fannkuchredux.hs 1.37s to complete and log all make actions COMMAND LINE: ./fannkuchredux.ghc_run +RTS -N4 -RTS 12 PROGRAM OUTPUT: 3968050 Pfannkuchen(12) = 65