[Haskell-cafe] C-like Haskell
Duncan Coutts
duncan.coutts at worc.ox.ac.uk
Wed Jan 28 20:06:17 EST 2009
On Wed, 2009-01-28 at 16:42 -0800, drblanco wrote:
> I do already have the number I wanted, but was wondering how this could be
> made faster, or even why it's so slow. This is all on GHC 6.8.3 under OS X
> Intel, using ghc -O2.
I'm not exactly sure what's different, but for me it works pretty well.
I put back in the Int64 type signature.
> For comparison, the C code below runs in <1 second.
You've got a faster machine than me :-)
I compiled both the Haskell and C versions to standalone executables
with ghc/gcc -O2 and ran them with time.
C version:
$ time ./circ
3141592649589764829
real 0m2.430s
user 0m2.428s
sys 0m0.000s
Haskell version:
time ./circ2
3141592653589764829
real 0m2.753s
user 0m2.756s
sys 0m0.000s
Not too bad I'd say! :-)
I was using ghc-6.10 for this test. It would appear that ghc-6.8 is a
bit slower, I get:
3141592653589764829
real 0m5.767s
user 0m5.768s
sys 0m0.000s
Now the other difference is that I'm using a 64bit machine so perhaps
ghc just produces terrible code for Int64 on 32bit machines.
Duncan
More information about the Haskell-Cafe
mailing list