Replacement for GMP: Update

Simon Marlow simonmar at microsoft.com
Thu Aug 10 05:58:03 EDT 2006


On 10 August 2006 06:32, Peter Tanski wrote:

> 		for the Makefile in ghc/rts, in lines 300-346,
> 		GC_HC_OPTS += -optc-O3
> 		--isn't this problematic?  gcc, from -O2 on includes
-fgcse which
> 		   may *reduce* runtime performance in programs using
computed
> 		  gotos; -fgcse is actually run twice, because
> 		  -frerun-cse-after-loop is also set at -O2.  Would it
be better to
> 	 	  pass individual flags, such as -funroll-loops and
> -falign-loops=16 (ppc, Intel setting)? 

Possibly, yes.  IIRC, -O3 was mainly to get some loop unrolling.  This
is a performance-critical part of the system though, and when making any
changes we like to measure things to make sure we haven't pessimised
performance.
 
> (3) I have been looking at how to implement a dual-constructor-in-a-
> pointer for Integer (i.e., merge constructors of small Integers and
> big Integers into the Int#).  Would that solution be workable or
> might it break current Haskell programs?  Just a thought.

Which representation in particular are you talking about here?

Cheers,
	Simon


More information about the Glasgow-haskell-users mailing list