
davidterei:
I've been looking at some of these cases and seeing how the LLVM back-end performs. My general impression from benchmarking the LLVM back-end in the past has been that it generally performs with similar characteristics as the C code generator (that is, where the C code generator stood out compared to the NCG, so did LLVM).
(On x86-32/Mac OS X 10.5, had some issues getting x64 working at moment):
./zipWith3_viac 0.72s ./zipWith3_fasm 0.65s ./zipWith3_llvm 0.38s
Those are great numbers! I've added llvm support to ghc-core (if you compile with -fllvm, ghc-core will display the core and assembly in the pager, syntax highlighted). Unfortunately, llvm.org is down, so I can't apply patches to my llvm install at the moment, but I have managed to compile a fair few things on x86_64 -- they don't run though :-) What's the status of the x86_64 llvm backend, do you know, and are there ways to tune the optimizations that llvm applies? Should we just be using the llvm binding package on Hackage? -- Do
participants (1)
-
Don Stewart