[Haskell-cafe] OSX i386/x86 and x86_64 - time to switch supported platforms?

Max Bolingbroke batterseapower at hotmail.com
Fri Feb 4 09:13:19 CET 2011


On 4 February 2011 02:35, Steve Severance <steve at medwizard.net> wrote:
> Wholly support moving OSX to x64. x86 should be supported only on a
> best effort basis for legacy.

Moving from x86 to x64 has advantages and disadvantages from my POV. Advantages:
 * Able to address more memory
 * More registers for code generation
 * Haskell dependencies wouldn't need to be built for x86 on Snow
Leopard (though if we swapped to x64 on Leopard as well, the Leopard
users would start having to build 64-bit libraries specially)

Disadvantages:
 * Pointers become wider, and Haskell data structures mostly consist
of pointers. This will bloat memory use of Haskell programs.
 * Generated binaries won't work on older Macs that don't have a
64-bit OS/CPU. This is important if you are distributing compiled
Haskell binaries, which is not something I personally do but which is
probably important to support

Did I miss anything?

I don't know if anyone using a 64-bits GHC on e.g. Linux has reported
experience of whether moving to 64-bits is a net win or not from a
performance perspective. My guess is that it is a win for certain
classes of programs (numerically intensive, "high performance
Haskell"), and a loss for programs making extensive use of laziness,
boxed data structures etc.

I notice that there is some work towards standardisation of a "x32"
ABI for 64-bit applications using thin, 32 bit pointers. See
http://robertmh.wordpress.com/2011/01/19/finally-amd32-is-taking-shape/.
This might be an interesting thing to explore when it becomes more
fully developed.

Cheers,
Max



More information about the Haskell-Cafe mailing list