Axel Simon <A.Simon@kent.ac.uk> writes:
There is an IA64 port somewhere, and I suspect other 64-bit architectures as well. Presumably they support >4Gb?
I wonder if such an effort is worthwhile. If all pointers are suddenly twice the size then the footprint of a program roughly doubles.
Unless you do additional tricks. Since we're still some way from 2^64 memory, perhaps part of the pointers could contain data (tags, say) as well? This means more than a straightforward port, though, and I've no idea how feasible it would be to implement.
Hence to run a program that that needs more than 4GB of RAM on a 32 bit architecture you would need more than 8GB of RAM on a 64 bit machine (and e.g. Apples G5 machines only support 8GB of on-board memory).
Well - so be it. There are 64bit machines out there that supports more than 8Gb. It'll be expensive, but at least possible.
It would be interesting if Haskell programs could run in the lower 4 GB while running in 64 bit mode. Then you could have large data structures (or memory mapped files) in C land.
That's an interesting possibility -- at least part of my program is a large UArray of Word8, which could probably be FFI'ed relatively easily. -kzm -- If I haven't seen further, it is by standing in the footprints of giants