
On 05 July 2005 10:38, John Skaller wrote:
Can someone comment on the Debian package for Ubuntu Hoary providing ghc-6.2.2 with binary for amd64?
You're probably running an unregisterised build, which is going to be generating code at least a factor of 2 slower than a registerised build. You can get an up to date snapshot of 6.4.1 for Linux/x86_64 here: http://www.haskell.org/ghc/dist/stable/dist/ghc-6.4.1.20050704-x86_64-un known-linux.tar.bz2 This build is registerised, but doesn't have the native code generator.
I'm asking because I'm unexpectedly getting really bad performance as you can see here:
http://felix.sourceforge.net/current/speed/en_flx_perf_0005.html
and here:
http://felix.sourceforge.net/current/speed/en_flx_perf_0011.html
These links are unstable, this one should always have the latest results:
http://felix.sourceforge.net/current/speed/en_flx_perf.html
The compilation is using:
ghc -O3 -fvia-C -optc -O3
which can probably be tweaked, any advice on that appreciated.
I hope you're not going to conclude *anything* based on the performance of ackermann and tak! :-) Cheers, Simon

On Tue, 2005-07-05 at 12:39 +0100, Simon Marlow wrote:
On 05 July 2005 10:38, John Skaller wrote:
Can someone comment on the Debian package for Ubuntu Hoary providing ghc-6.2.2 with binary for amd64?
You're probably running an unregisterised build, which is going to be generating code at least a factor of 2 slower than a registerised build. You can get an up to date snapshot of 6.4.1 for Linux/x86_64 here:
http://www.haskell.org/ghc/dist/stable/dist/ghc-6.4.1.20050704-x86_64-un known-linux.tar.bz2
Thanks, downloading it now.. will try. What exactly is a 'registered' build?
This build is registerised, but doesn't have the native code generator.
Which would generate the best code?
I hope you're not going to conclude *anything* based on the performance of ackermann and tak! :-)
Ackermann is a good test of optimisation of a recursive function, which primarily require the smallest possible stack frame. Of course it is only one function, more need to be tested. In fact, this one test has been very good helping me get the Felix optimiser to work well -- the raw code generated without optimisation creates a heap closure for every function, including ones synthesised for conditionals and matches, etc. If I remember rightly, it took 2 hours to calculate Ack(3,6), and I needed a friend to use a big PPC to get the result in two hours for Ack(3,7). So ... you could say the Felix optimiser has improved a bit... :) If you would like to suggest other tests I'd be quite interested. At the moment I'm using code from the Alioth Shootout, simply because I can -- saves writing things in languages I don't know (which includes Haskell unfortunately). -- John Skaller <skaller at users dot sourceforge dot net> Download Felix: http://felix.sf.net

On Tue, 2005-07-05 at 12:39 +0100, Simon Marlow wrote:
http://www.haskell.org/ghc/dist/stable/dist/ghc-6.4.1.20050704-x86_64-un known-linux.tar.bz2
This build is registerised, but doesn't have the native code generator.
BTW: I get this: for i in `(cd share; find . -type f )`; do \ /usr/bin/install -c -m 644 share/$i /usr/local/share/ghc-6.4.1.20050704/$i; \ done ./mkdirhier /usr/local/share/ghc-6.4.1.20050704/html if test -d share/html ; then cp -r share/html/* /usr/local/share/ghc-6.4.1.20050704/html ; fi for i in share/*.ps; do \ cp $i /usr/local/share/ghc-6.4.1.20050704 ; \ done cp: cannot stat `share/*.ps': No such file or directory make: *** [install-docs] Error 1 It's right, in 'share' is just one directory called 'html' .. This code checks 'html' exists .. but doesn't check for any *.ps files: install-docs : install-dirs-docs if test -d share/html ; then $(CP) -r share/html/* $(htmldir) ; fi for i in share/*.ps; do \ $(CP) $$i $(psdir) ; \ done Otherwise it worked fine .. results next post .. -- John Skaller <skaller at users dot sourceforge dot net> Download Felix: http://felix.sf.net

On Tue, 2005-07-05 at 12:39 +0100, Simon Marlow wrote:
I hope you're not going to conclude *anything* based on the performance of ackermann and tak! :-)
Well .. whatever a 'registered' build is it does this, the test is ackermann(3,n), the number in [] is the number of data points, and (min, average, max) is shown. xlator ghc-6.2.2 n 10 -[ 14]-> ( 0.68, 0.69, 0.72) n 11 -[ 18]-> ( 2.81, 2.90, 3.01) n 12 -[ 13]-> ( 11.72, 12.76, 16.95) xlator ghc-6.4.1 n 10 -[ 4]-> ( 0.20, 0.20, 0.20) n 11 -[ 6]-> ( 0.84, 0.84, 0.84) n 12 -[ 1]-> ( 3.53, 3.53, 3.53) Of course I won't conclude anything .. :)) -- John Skaller <skaller at users dot sourceforge dot net> Download Felix: http://felix.sf.net
participants (2)
-
John Skaller
-
Simon Marlow