
16 Apr
2008
16 Apr
'08
10:59 a.m.
ketil:
One of the downsides of a 64-bit environment is the increased size of pointers. This means that the cost of a String increases from something like 12 bytes per char to something like 24.
I notice BEA uses something called "compressed pointers" to get the 64-bit (more registers, etc) benefits without paying the (cache-thrashing) cost.
http://e-docs.bea.com/jrockit/releases/5026x/relnotes/relnotes.html#wp107976...
Something for GHC?
One small upside (performance wise), is that the bottom 3 bits of the pointer are now used to encode the constructor on 64 bits, so 'case' gets a good percent cheaper. -- Don