[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