[Haskell-cafe] Re: newbie optimization question
derek.a.elkins at gmail.com
Sun Oct 28 19:47:24 EDT 2007
On Sun, 2007-10-28 at 23:34 +0100, Peter Hercek wrote:
> Don Stewart wrote:
> >> C++ version times: 1.109; 1.125; 1.125
> >> Int32 cpu times: 1.359; 1.359; 1.375
> >> Int64 cpu times: 11.688; 11.719; 11.766
> >> Integer cpu times: 9.719; 9.703; 9.703
> >> Great result from ghc.
> > What Haskell program were you using for this test? The original
> > naive/high level implementation?
> > -- Don
> Here it is (I played only with the types for divisors and perfect;
> bottom is there from my previous tests, but it should not matter):
> module Main (bottom, divisors, perfect, main) where
> import Data.Int
> bottom = error "_|_"
> divisors :: Int -> [Int]
> divisors i = [j | j<-[1..i-1], i `mod` j == 0]
> perfect :: [Int]
> perfect = [i | i<-[1..10000], i == sum (divisors i)]
> main = print perfect
Try with rem instead of mod.
(What the heck is with bottom?)
More information about the Haskell-Cafe