GHC 6.12 RC1 and Ubuntu 9.10 (Karmic Koala)
I’m excited about GHC 6.12 and hope it is released soon. Currently I have some problems with Ubuntu 9.10 and its Linux kernel 2.6.31-14. It seems that GHC 6.12 will solve (some) of my problems.
For the examplary unoptimized code
-- Compile with ghc-6.10.4 -O2 -threaded --make Example.hs -o example module Main where import GHC.Conc import Control.Concurrent import Control.Monad import System.Environment import Data.List ------------------------------------------------------------ main :: IO () main = do args <- getArgs let threads = numCapabilities -- threads determined by -N... taskDur = 1000000 -- big enough magic number taskNum = (read . head) args -- Number of tasks is 1st parameter queue <- newChan finished <- newChan writeList2Chan queue (replicate taskNum taskDur) replicateM_ threads (forkIO (thread queue finished)) replicateM_ taskNum (readChan finished) ------------------------------------------------------------ thread :: Chan Int -> Chan Int -> IO () thread queue finished = forever $ do task <- readChan queue workFor task writeChan finished 1 where workFor n = foldl' (\a b -> a + sqrt (2^b)) 1 [1..n] `pseq` return () |
we get the following runtimes on my Dualcore Notebook:
$ time e-6.12 +RTS -N1 -RTS 16 real 0m43.994s user 0m43.630s sys 0m0.040s $ time e-6.12 +RTS -N2 -RTS 16 real 0m25.987s user 0m48.790s sys 0m0.230s $ time e-6.10 +RTS -N1 -RTS 16 real 0m45.883s user 0m44.500s sys 0m0.400s $ time e-6.10 +RTS -N2 -RTS 16 real 0m38.930s user 0m46.040s sys 0m0.490s
As you can see, e-6.12 (the version compiled with ghc-6.12-20091010) delivers a good speedup whereas ghc-6.10 does not use my two cores very much. This makes testing, benchmarking and developing my parallel Haskell code currently quite difficult.
Is there an ubuntu deb for ghc 6.12?
Hello Shae,
as far as I know, no. But you can download GHC6.12.1 from its homepage at http://www.haskell.org/ghc/download_ghc_6_12_1.html and do the usual ./configure && make install stuff.
Or you wait a bit until a new release of the Haskell Platform, probably with 6.12, is released.