[jhc] some more jhc weirdness

sylvain sylvain.nahas at googlemail.com
Fri Mar 20 19:43:38 EDT 2009


Hi,

I have rewritten the program in my previous mail.

io s n t = do 
		putStr s
		putStr " of depth "
		putStr (show n)
		putStr " check: "
		putStrLn (show t)

With this workaround, the ghc and jhc generated programs give the same
output.

Let do some speed comparison.

$ ghc --make -O2 -fglasgow-exts -fasm prog.hs -o prog.ghc
$ jhc prog.hs -o prog.jhc

You can get a reference C version, supposedly optimized, here:
http://shootout.alioth.debian.org/u32q/benchmark.php?test=binarytrees&lang=gcc&box=1

$ gcc -pipe -Wall -O3 -fomit-frame-pointer -march=native -lm prog.c -o
prog.gcc

below are the results for the third run (to mitigate cache miss effect)
of each program:

$ time ./prog.ghc 17
real	0m5.606s
user	0m5.104s
sys	0m0.032s
$ time ./prog.gcc 17
real	0m5.269s
user	0m5.264s
sys	0m0.004s

C is faster than GHC Haskell, things are in order.

$ time ./prog.jhc 17
real 0m2.656s
user 0m1.364s
sys 0m1.048s

What is wrong with my computer, I wonder? :)
Sylvain Nahas



More information about the jhc mailing list