[Haskell] Programming language shootout (completing the Haskell entry)

Simon Marlow simonmar at microsoft.com
Wed Mar 31 09:40:07 EST 2004


 
> On Tue, 30 Mar 2004, Simon Marlow wrote:
> 
> > The upshot of what he found is that we could benefit from some
> > prefetching, perhaps on the order of 10-20%.  Particularly 
> prefetching
> > in the allocation area during evaluation, to ensure that 
> memory about to
> > be written to is in the cache, and similar techniques 
> during GC could
> > help.  However, actually taking advantage of this is quite hard -
> > prefetching instructions aren't standard, and even when 
> they are getting
> > any benefit can depend on cache architecture and other effects which
> > vary between processor families.  Getting things wrong 
> often results in
> > a slowdown.  It's just too brittle.
> 
> Exactly:  prefetching sucks, particularly for a compiler supporting
> multiple architectures, using native and via-C compilation.
> 
> Simon, did you ever try separating the code and data for each closure?

Not recently.  But I'd be very surprised if things have changed: the
cache benefits need to be pretty big to outweigh the slowdown caused by
the extra indirection when entering a closure.

Cheers,
	Simon


More information about the Haskell mailing list