Hello skaller, Thursday, June 21, 2007, 7:06:09 AM, you wrote: >> generally speaking, people want to use 64-bit code in order to work >> with much larger data space, overall speed may be better than using >> 32-bit version with 2gb limit
> With x86_64, 64 bit programs are usually faster than 32 bit ones > even for small data, probably because despite the extra stack space > etc that is required for double sized pointers, there are also > more registers. There may also be a penalty for 32 bit code in other > parts of the processing pipeline, eg segmentation (which is not > available for 64 bit code). this small speed increase will be easily outweighted by using non-optimizing (un*register*ized means "non using registers in optimal way") compiler the whole problem is that GHC has very complex compilation strategy which is fine-tuned for every platform fully supported. it mangles asm code produced by C compiler, it uses registers directly, so on. this is so-called registerized build. and without all these optimizations it just generates plain ANSI C code, this is unregizterized build. the last is much simpler to implement - you need to port only libraries/RTS > IMHO the main use of 32 bit machines now is embedded applications, > for example mobile phones. but this doesn't apply to 32-bit code. moreover, you say about computers that are now selled but there are lots of old boxes. and not everyone with 64-bit CPU buys 64-bit OS from my POV, main reason for 64-bitness is using more than 2G of memory, and growed amount of memory in typical desktops was the reason why 64-bit systems now becomes popular. in terms of CPU architecture, x86-64 is still CISC while RISC and EPIC architectures proven their efficiency in last 20 years. doubled amount of registers is very small step in this direction -- Best regards, Bulat mailto:[EMAIL PROTECTED] _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users