
#10652: Better cache performance in Array# -------------------------------------+------------------------------------- Reporter: MikeIzbicki | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by carter): I actually think that it'd be easier/safe space safety wise to provide the latter (eg, preserve sharing!). your proposed alternative operations requires doing a GC style movement of the values held in the underlying array to have the right semantics I'm not sure where to look in the GC myself, but i think https://github.com/ghc/ghc/blob/master/rts/sm/Evac.c#L711-L725 is probably a good starting point -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10652#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler