RE: Ann: HAllInOne bug fix release

2003-07-31 Thread Simon Peyton-Jones
Something very odd is going on.  GHC does not generate programs than run
3x faster between GHC versions.  

If, perhaps, you compiled both without -O, no cross-module inlining
takes place.  That would account for a big slow down when using separate
compilation.  I see you use -O2 this time.

I don't know why the all in one version might go slower though

S

| -Original Message-
| From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Hal Daume
| Sent: 31 July 2003 00:23
| To: Wolfgang Jeltsch; The Haskell Mailing List
| Subject: RE: Ann: HAllInOne bug fix release
| 
| Ah, apparently it is not (at least not the Cygwin version).
| 
| I recompiled NHC with GHC -O2, both the separate compilation version
and
| the all-in-over version.  Averaged over five runs, we see that the
| separate compilation version is actually *faster* than the ai1
version:
| 
| standard nhc compiled with ghc:
| 
| real0m27.167s
| user0m9.991s
| sys 0m1.304s
| 
| nhc all-in-one:
| 
| real0m31.411s
| user0m10.007s
| sys 0m1.299s
| 
| 
| 
| i am completely unable to explain this.  someone want to hazard a
guess?
| 
|  - hal, who is a bit disappointed now :(
| 
|  --
|  Hal Daume III   | [EMAIL PROTECTED]
|  Arrest this man, he talks in maths.   | www.isi.edu/~hdaume
| 
| 
|  -Original Message-
|  From: [EMAIL PROTECTED]
|  [mailto:[EMAIL PROTECTED] On Behalf Of Wolfgang Jeltsch
|  Sent: Wednesday, July 30, 2003 2:59 PM
|  To: The Haskell Mailing List
|  Subject: Re: Ann: HAllInOne bug fix release
| 
| 
|  On Wednesday, 2003-07-30, 23:36, CEST, Hal Daume III wrote:
|   [...]
| 
|   A few people have asked me for speed-up results from
|  All-In-One-ifying code,
|   so here's a good one.  We take two versions of NHC.  One is
|  the original
|   binary distribution and the other is the All-In-One-ified
|  version, compiled
|   by GHC.
| 
|  Hi,
| 
|  is the original binary distribution compiled with GHC? If
|  not, the speed-up
|  may also be the result of using a different compiler (i.e., GHC).
| 
|   [...]
| 
|  Wolfgang
| 
|  ___
|  Haskell mailing list
|  [EMAIL PROTECTED]
|  http://www.haskell.org/mailman/listinfo/haskell
| 
| ___
| Haskell mailing list
| [EMAIL PROTECTED]
| http://www.haskell.org/mailman/listinfo/haskell


___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


RE: Ann: HAllInOne bug fix release

2003-07-31 Thread Graham Klyne
At 08:44 31/07/03 +0100, Simon Peyton-Jones wrote:
I don't know why the all in one version might go slower though
Virtual memory thrashing?  (Hal did say something about needing lots of RAM.)

#g

---
Graham Klyne
[EMAIL PROTECTED]
PGP: 0FAA 69FF C083 000B A2E9  A131 01B9 1C7A DBCA CB5E
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


RE: Ann: HAllInOne bug fix release

2003-07-31 Thread Koen Claessen
Simon Peyton-Jones wrote:

 | I don't know why the all in one version might go
 | slower though.

How about some (artificial) cut-offs during optimization
phases? Optimizing a hugs module could lead to some kind of
combinatorial explosion (which gets cut off by the
optimizer) which does not happen when you have separate
modules?

Just my 2 öre!

/Koen

___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


RE: Ann: HAllInOne bug fix release

2003-07-31 Thread Hal Daume
(moved to haskell cafe -- hopefully the other threads will follow)

 I don't know why the all in one version might go slower though
 
 Virtual memory thrashing?  (Hal did say something about 
 needing lots of RAM.)

only to compile.  i haven't measured, but the resulting executable
shouldn't require any more memory.

it only hits about 400mbs max, though, which won't swap on my machine.

 - hal
___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe


RE: Ann: HAllInOne bug fix release

2003-07-31 Thread Hal Daume
(haskell-cafe now)

Interesting.  I've stripped them and they are exactly the same size.
diff says they differ though.  pre-stripping, the normal nhc (non ai1)
is marginally larger (6.8m versus 7.0m).

I'll try to measure memory usage if someone tells me how :)

 - Hal

 --
 Hal Daume III   | [EMAIL PROTECTED]
 Arrest this man, he talks in maths.   | www.isi.edu/~hdaume


 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of John Meacham
 Sent: Wednesday, July 30, 2003 5:22 PM
 To: The Haskell Mailing List
 Subject: Re: Ann: HAllInOne bug fix release
 
 
 Another useful thing would be the striped binary sizes of the two
 versions. I am curious how much AllInOneing affects the resultant
 binary. Memory usage would also be interesting.
 John
 
 On Wed, Jul 30, 2003 at 04:22:58PM -0700, Hal Daume wrote:
  Ah, apparently it is not (at least not the Cygwin version).
  
  I recompiled NHC with GHC -O2, both the separate 
 compilation version and
  the all-in-over version.  Averaged over five runs, we see that the
  separate compilation version is actually *faster* than the 
 ai1 version:
  
  standard nhc compiled with ghc:
  
  real0m27.167s
  user0m9.991s
  sys 0m1.304s
  
  nhc all-in-one:
  
  real0m31.411s
  user0m10.007s
  sys 0m1.299s
  
  
  
  i am completely unable to explain this.  someone want to 
 hazard a guess?
  
   - hal, who is a bit disappointed now :(
  
   --
   Hal Daume III   | [EMAIL PROTECTED]
   Arrest this man, he talks in maths.   | 
 www.isi.edu/~hdaume
  
  
   -Original Message-
   From: [EMAIL PROTECTED] 
   [mailto:[EMAIL PROTECTED] On Behalf Of Wolfgang Jeltsch
   Sent: Wednesday, July 30, 2003 2:59 PM
   To: The Haskell Mailing List
   Subject: Re: Ann: HAllInOne bug fix release
   
   
   On Wednesday, 2003-07-30, 23:36, CEST, Hal Daume III wrote:
[...]
   
A few people have asked me for speed-up results from 
   All-In-One-ifying code,
so here's a good one.  We take two versions of NHC.  One is 
   the original
binary distribution and the other is the All-In-One-ified 
   version, compiled
by GHC.
   
   Hi,
   
   is the original binary distribution compiled with GHC? If 
   not, the speed-up 
   may also be the result of using a different compiler (i.e., GHC).
   
[...]
   
   Wolfgang
   
   ___
   Haskell mailing list
   [EMAIL PROTECTED]
   http://www.haskell.org/mailman/listinfo/haskell
   
  -- 
  Haskell mailing list
  [EMAIL PROTECTED]
  http://www.haskell.org/mailman/listinfo/haskell
  
 
 -- 
 --
 -
 John Meacham - California Institute of Technology, Alum. - 
 [EMAIL PROTECTED]
 --
 -
 ___
 Haskell mailing list
 [EMAIL PROTECTED]
 http://www.haskell.org/mailman/listinfo/haskell
 
___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe


RE: Ann: HAllInOne bug fix release

2003-07-31 Thread Hal Daume
(cafe)

This seems like a reasonable hypothesis.  Is there a way to get GHC to keep trying, 
despite the enormity of the input file?

Specifically, I expect it to do a better job of (a) inlining and (b) specialization.  
Is there a way to hint to it to try a bit harder?  :)

 - Hal

 --
 Hal Daume III   | [EMAIL PROTECTED]
 Arrest this man, he talks in maths.   | www.isi.edu/~hdaume


 -Original Message-
 From: Koen Claessen [mailto:[EMAIL PROTECTED] 
 Sent: Thursday, July 31, 2003 1:49 AM
 To: Simon Peyton-Jones
 Cc: Hal Daume; Wolfgang Jeltsch; The Haskell Mailing List
 Subject: RE: Ann: HAllInOne bug fix release
 
 
 Simon Peyton-Jones wrote:
 
  | I don't know why the all in one version might go
  | slower though.
 
 How about some (artificial) cut-offs during optimization
 phases? Optimizing a hugs module could lead to some kind of
 combinatorial explosion (which gets cut off by the
 optimizer) which does not happen when you have separate
 modules?
 
 Just my 2 öre!
 
 /Koen
 
 
___
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Ann: HAllInOne bug fix release

2003-07-30 Thread Wolfgang Jeltsch
On Wednesday, 2003-07-30, 23:36, CEST, Hal Daume III wrote:
 [...]

 A few people have asked me for speed-up results from All-In-One-ifying code,
 so here's a good one.  We take two versions of NHC.  One is the original
 binary distribution and the other is the All-In-One-ified version, compiled
 by GHC.

Hi,

is the original binary distribution compiled with GHC? If not, the speed-up 
may also be the result of using a different compiler (i.e., GHC).

 [...]

Wolfgang

___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


RE: Ann: HAllInOne bug fix release

2003-07-30 Thread Hal Daume
Ah, apparently it is not (at least not the Cygwin version).

I recompiled NHC with GHC -O2, both the separate compilation version and
the all-in-over version.  Averaged over five runs, we see that the
separate compilation version is actually *faster* than the ai1 version:

standard nhc compiled with ghc:

real0m27.167s
user0m9.991s
sys 0m1.304s

nhc all-in-one:

real0m31.411s
user0m10.007s
sys 0m1.299s



i am completely unable to explain this.  someone want to hazard a guess?

 - hal, who is a bit disappointed now :(

 --
 Hal Daume III   | [EMAIL PROTECTED]
 Arrest this man, he talks in maths.   | www.isi.edu/~hdaume


 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Wolfgang Jeltsch
 Sent: Wednesday, July 30, 2003 2:59 PM
 To: The Haskell Mailing List
 Subject: Re: Ann: HAllInOne bug fix release
 
 
 On Wednesday, 2003-07-30, 23:36, CEST, Hal Daume III wrote:
  [...]
 
  A few people have asked me for speed-up results from 
 All-In-One-ifying code,
  so here's a good one.  We take two versions of NHC.  One is 
 the original
  binary distribution and the other is the All-In-One-ified 
 version, compiled
  by GHC.
 
 Hi,
 
 is the original binary distribution compiled with GHC? If 
 not, the speed-up 
 may also be the result of using a different compiler (i.e., GHC).
 
  [...]
 
 Wolfgang
 
 ___
 Haskell mailing list
 [EMAIL PROTECTED]
 http://www.haskell.org/mailman/listinfo/haskell
 
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell


Re: Ann: HAllInOne bug fix release

2003-07-30 Thread John Meacham
Another useful thing would be the striped binary sizes of the two
versions. I am curious how much AllInOneing affects the resultant
binary. Memory usage would also be interesting.
John

On Wed, Jul 30, 2003 at 04:22:58PM -0700, Hal Daume wrote:
 Ah, apparently it is not (at least not the Cygwin version).
 
 I recompiled NHC with GHC -O2, both the separate compilation version and
 the all-in-over version.  Averaged over five runs, we see that the
 separate compilation version is actually *faster* than the ai1 version:
 
 standard nhc compiled with ghc:
 
 real0m27.167s
 user0m9.991s
 sys 0m1.304s
 
 nhc all-in-one:
 
 real0m31.411s
 user0m10.007s
 sys 0m1.299s
 
 
 
 i am completely unable to explain this.  someone want to hazard a guess?
 
  - hal, who is a bit disappointed now :(
 
  --
  Hal Daume III   | [EMAIL PROTECTED]
  Arrest this man, he talks in maths.   | www.isi.edu/~hdaume
 
 
  -Original Message-
  From: [EMAIL PROTECTED] 
  [mailto:[EMAIL PROTECTED] On Behalf Of Wolfgang Jeltsch
  Sent: Wednesday, July 30, 2003 2:59 PM
  To: The Haskell Mailing List
  Subject: Re: Ann: HAllInOne bug fix release
  
  
  On Wednesday, 2003-07-30, 23:36, CEST, Hal Daume III wrote:
   [...]
  
   A few people have asked me for speed-up results from 
  All-In-One-ifying code,
   so here's a good one.  We take two versions of NHC.  One is 
  the original
   binary distribution and the other is the All-In-One-ified 
  version, compiled
   by GHC.
  
  Hi,
  
  is the original binary distribution compiled with GHC? If 
  not, the speed-up 
  may also be the result of using a different compiler (i.e., GHC).
  
   [...]
  
  Wolfgang
  
  ___
  Haskell mailing list
  [EMAIL PROTECTED]
  http://www.haskell.org/mailman/listinfo/haskell
  
 -- 
 Haskell mailing list
 [EMAIL PROTECTED]
 http://www.haskell.org/mailman/listinfo/haskell
 

-- 
---
John Meacham - California Institute of Technology, Alum. - [EMAIL PROTECTED]
---
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell