Stefan O'Rear | 1 Nov 02:38 2007
Picon
Picon

Re: Re: Why can't Haskell be faster?

On Wed, Oct 31, 2007 at 03:37:12PM +0000, Neil Mitchell wrote:
> Hi
> 
> I've been working on optimising Haskell for a little while
> (http://www-users.cs.york.ac.uk/~ndm/supero/), so here are my thoughts
> on this.  The Clean and Haskell languages both reduce to pretty much
> the same Core language, with pretty much the same type system, once
> you get down to it - so I don't think the difference between the
> performance is a language thing, but it is a compiler thing. The
> uniqueness type stuff may give Clean a slight benefit, but I'm not
> sure how much they use that in their analyses.
> 
> Both Clean and GHC do strictness analysis - I don't know which one
> does better, but both do quite well. I think Clean has some
> generalised fusion framework, while GHC relies on rules and short-cut
> deforestation. GHC goes through C-- to C or ASM, while Clean has been
> generating native code for a lot longer. GHC is based on the STG
> machine, while Clean is based on the ABC machine - not sure which is
> better, but there are differences there.
> 
> My guess is that the native code generator in Clean beats GHC, which
> wouldn't be too surprising as GHC is currently rewriting its CPS and
> Register Allocator to produce better native code.

I don't think the register allocater is being rewritten so much as it is
being written:

stefan <at> stefans:/tmp$ cat X.hs
module X where

(Continue reading)

Neil Mitchell | 1 Nov 03:30 2007
Picon

Re: Re: Why can't Haskell be faster?

Hi

> I don't think the register allocater is being rewritten so much as it is
> being written:

>From talking to Ben, who rewrote the register allocator over the
summer, he said that the new graph based register allocator is pretty
good. The thing that is holding it back is the CPS conversion bit,
which was also being rewritten over the summer, but didn't get
finished. I think these are both things which are likely to be done
for 6.10.

Thanks

Neil
Stefan O'Rear | 1 Nov 03:50 2007
Picon
Picon

Re: Re: Why can't Haskell be faster?

On Thu, Nov 01, 2007 at 02:30:17AM +0000, Neil Mitchell wrote:
> Hi
> 
> > I don't think the register allocater is being rewritten so much as it is
> > being written:
> 
> >From talking to Ben, who rewrote the register allocator over the
> summer, he said that the new graph based register allocator is pretty
> good. The thing that is holding it back is the CPS conversion bit,
> which was also being rewritten over the summer, but didn't get
> finished. I think these are both things which are likely to be done
> for 6.10.

Oh, that's good news.  I look forward to a massive increase in the
performance of GHC-compiled programs, most specifically GHC itself.

Stefan
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Simon Peyton-Jones | 1 Nov 10:28 2007
Picon

RE: Re: Why can't Haskell be faster?

Yes, that's right.  We'll be doing a lot more work on the code generator in the rest of this year and 2008.  Here
"we" includes Norman Ramsey and John Dias, as well as past interns Michael Adams and Ben Lippmeier, so we
have real muscle!

Simon

| > I don't think the register allocater is being rewritten so much as it is
| > being written:
|
| >From talking to Ben, who rewrote the register allocator over the
| summer, he said that the new graph based register allocator is pretty
| good. The thing that is holding it back is the CPS conversion bit,
| which was also being rewritten over the summer, but didn't get
| finished. I think these are both things which are likely to be done
| for 6.10.
|
| Thanks
|
| Neil
| _______________________________________________
| Haskell-Cafe mailing list
| Haskell-Cafe <at> haskell.org
| http://www.haskell.org/mailman/listinfo/haskell-cafe
Paulo J. Matos | 1 Nov 14:41 2007
Picon

Re: Re: Why can't Haskell be faster?

On 01/11/2007, Simon Peyton-Jones <simonpj <at> microsoft.com> wrote:
> Yes, that's right.  We'll be doing a lot more work on the code generator in the rest of this year and 2008.  Here
"we" includes Norman Ramsey and John Dias, as well as past interns Michael Adams and Ben Lippmeier, so we
have real muscle!
>

That's very good to know. I wonder where could I read more about
current state of the art on Haskell compilation techniques and about
the implementation of ghc in general?
Is there a book on it or maybe some group of papers that would aid me
to understand it?

Cheers,

Paulo Matos

> Simon
>
> | > I don't think the register allocater is being rewritten so much as it is
> | > being written:
> |
> | >From talking to Ben, who rewrote the register allocator over the
> | summer, he said that the new graph based register allocator is pretty
> | good. The thing that is holding it back is the CPS conversion bit,
> | which was also being rewritten over the summer, but didn't get
> | finished. I think these are both things which are likely to be done
> | for 6.10.
> |
> | Thanks
> |
(Continue reading)

Simon Peyton-Jones | 1 Nov 15:03 2007
Picon

RE: Re: Why can't Haskell be faster?

http://hackage.haskell.org/trac/ghc/wiki/Commentary

| -----Original Message-----
| From: pocmatos <at> gmail.com [mailto:pocmatos <at> gmail.com] On Behalf Of Paulo J. Matos
| Sent: 01 November 2007 13:42
| To: Simon Peyton-Jones
| Cc: Neil Mitchell; Stefan O'Rear; Jeff.Harper <at> handheld.com; haskell-cafe <at> haskell.org
| Subject: Re: [Haskell-cafe] Re: Why can't Haskell be faster?
|
| On 01/11/2007, Simon Peyton-Jones <simonpj <at> microsoft.com> wrote:
| > Yes, that's right.  We'll be doing a lot more work on the code generator in the rest of this year and 2008.
| Here "we" includes Norman Ramsey and John Dias, as well as past interns Michael Adams and Ben Lippmeier, so we
| have real muscle!
| >
|
| That's very good to know. I wonder where could I read more about
| current state of the art on Haskell compilation techniques and about
| the implementation of ghc in general?
| Is there a book on it or maybe some group of papers that would aid me
| to understand it?
|
| Cheers,
|
| Paulo Matos
|
| > Simon
| >
| > | > I don't think the register allocater is being rewritten so much as it is
| > | > being written:
| > |
(Continue reading)


Gmane