Difference between revisions of "Benchmarks Game"

From HaskellWiki
Jump to navigation Jump to search
m (Great language shootout moved to Shootout)
(fmt)
Line 3: Line 3:
 
== Submitting guide ==
 
== Submitting guide ==
   
Now that GHC 6.6 is available, please use it! This gives us the option
+
Now that GHC 6.6 is available, please use it! This gives us the option of using:
of using:
 
 
* [http://haskell.org/ghc/docs/latest/html/libraries/base/Data-ByteString.html Data.ByteString]
 
* [http://haskell.org/ghc/docs/latest/html/libraries/base/Data-ByteString.html Data.ByteString]
 
* [http://haskell.org/ghc/docs/latest/html/libraries/regex-posix/Text-Regex-Posix-ByteString.html Text.Regex.*]
 
* [http://haskell.org/ghc/docs/latest/html/libraries/regex-posix/Text-Regex-Posix-ByteString.html Text.Regex.*]
Line 20: Line 19:
 
* Creating clean, functional-style code or fast, imperative-style code. There are multiple versions ("GHC", "GHC#2", "GHC#3", "GHC#4") of GHC codes on many of the benchmarks with no clear rational for the different versions. It'd be better to have entries for "GHC" be clean, short, functional code and entries for "GHC-#2" be fastest, probably-ugliest code.
 
* Creating clean, functional-style code or fast, imperative-style code. There are multiple versions ("GHC", "GHC#2", "GHC#3", "GHC#4") of GHC codes on many of the benchmarks with no clear rational for the different versions. It'd be better to have entries for "GHC" be clean, short, functional code and entries for "GHC-#2" be fastest, probably-ugliest code.
   
  +
* When you submit via the trac system, record in the wiki section for that entry a link to the submission.
* Include a reference to "http://haskell.org/haskellwiki/Great_language_shootout" in the header of the source code file in order to point other contributors to the Hawiki efforts.
 
  +
  +
* Check for gzip file size before you submit -- lots of points to be had there.
 
 
 
<haskell>
 
<haskell>
Line 38: Line 39:
 
== Current benchmarks ==
 
== Current benchmarks ==
   
* [[Shootout/Binary trees]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=binarytrees&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=binarytrees&lang=all Debian/AMD Sempron]
+
* [[/Binary trees]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=binarytrees&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=binarytrees&lang=all Debian/AMD Sempron]
   
* [[Shootout/Cheap concurrency]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=message&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=message&lang=all Debian/AMD Sempron]
+
* [[/Cheap concurrency]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=message&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=message&lang=all Debian/AMD Sempron]
   
* [[Shootout/Chameneos]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=chameneos&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=chameneos&lang=all Debian/AMD Sempron]
+
* [[/Chameneos]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=chameneos&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=chameneos&lang=all Debian/AMD Sempron]
   
* [[Shootout/Fannkuch]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=fannkuch&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=fannkuch&lang=all Debian/AMD Sempron]
+
* [[/Fannkuch]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=fannkuch&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=fannkuch&lang=all Debian/AMD Sempron]
   
* [[Shootout/Fasta]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=fasta&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=fasta&lang=all Debian/AMD Sempron]
+
* [[/Fasta]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=fasta&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=fasta&lang=all Debian/AMD Sempron]
   
* [[Shootout/Knucleotide]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=knucleotide&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=knucleotide&lang=all Debian/AMD Sempron]
+
* [[/Knucleotide]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=knucleotide&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=knucleotide&lang=all Debian/AMD Sempron]
   
* [[Shootout/Mandelbrot]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=mandelbrot&lang=all Gentoo/P4] , [http://shootout.alioth.debian.org/benchmark.php?test=mandelbrot&lang=all Debian/AMD Sempron]
+
* [[/Mandelbrot]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=mandelbrot&lang=all Gentoo/P4] , [http://shootout.alioth.debian.org/benchmark.php?test=mandelbrot&lang=all Debian/AMD Sempron]
   
* [[Shootout/Nbody]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=nbody&lang=all Gentoo/P4] , [http://shootout.alioth.debian.org/benchmark.php?test=nbody&lang=all Debian/AMD Sempron]
+
* [[/Nbody]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=nbody&lang=all Gentoo/P4] , [http://shootout.alioth.debian.org/benchmark.php?test=nbody&lang=all Debian/AMD Sempron]
   
* [[Shootout/Nsieve]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=nsieve&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=nsieve&lang=all Debian/AMD Sempron]
+
* [[/Nsieve]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=nsieve&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=nsieve&lang=all Debian/AMD Sempron]
   
* [[Shootout/Nsieve Bits]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=nsievebits&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=nsievebits&lang=all Debian/AMD Sempron]
+
* [[/Nsieve Bits]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=nsievebits&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=nsievebits&lang=all Debian/AMD Sempron]
   
* [[Shootout/Partial sums]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=partialsums&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=partialsums&lang=all Debian/AMD Sempron]
+
* [[/Partial sums]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=partialsums&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=partialsums&lang=all Debian/AMD Sempron]
   
* [[Shootout/Pidigits]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=pidigits&lang=all Gentoo/P4] , [http://shootout.alioth.debian.org/benchmark.php?test=pidigits&lang=all Debian/AMD Sempron]
+
* [[/Pidigits]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=pidigits&lang=all Gentoo/P4] , [http://shootout.alioth.debian.org/benchmark.php?test=pidigits&lang=all Debian/AMD Sempron]
   
* [[Shootout/Random]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=random&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=random&lang=all Debian/AMD Sempron]
+
* [[/Random]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=random&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=random&lang=all Debian/AMD Sempron]
   
* [[Shootout/Recursive]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=recursive&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=recursive&lang=all Debian/AMD Sempron]
+
* [[/Recursive]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=recursive&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=recursive&lang=all Debian/AMD Sempron]
   
* [[Shootout/Regex DNA]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=regexdna&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=regexdna&lang=all Debian/AMD Sempron]
+
* [[/Regex DNA]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=regexdna&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=regexdna&lang=all Debian/AMD Sempron]
   
* [[Shootout/Reverse complement]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=revcomp&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=revcomp&lang=all Debian/AMD Sempron]
+
* [[/Reverse complement]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=revcomp&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=revcomp&lang=all Debian/AMD Sempron]
   
* [[Shootout/Spectral]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=spectralnorm&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=spectralnorm&lang=all Debian/AMD Sempron]
+
* [[/Spectral]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=spectralnorm&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=spectralnorm&lang=all Debian/AMD Sempron]
   
* [[Shootout/SumFile]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=sumcol&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=sumcol&lang=all Debian/AMD Sempron]
+
* [[/SumFile]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=sumcol&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=sumcol&lang=all Debian/AMD Sempron]
   
 
== Obsolete benchmarks ==
 
== Obsolete benchmarks ==
   
* [[Shootout/Takfp]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=takfp&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=takfp&lang=all Debian/AMD Sempron]
+
* [[/Takfp]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=takfp&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=takfp&lang=all Debian/AMD Sempron]
   
* [[Shootout/Ack]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=ackermann&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=ackermann&lang=all Debian/AMD Sempron]
+
* [[/Ack]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=ackermann&lang=all Gentoo/P4], [http://shootout.alioth.debian.org/benchmark.php?test=ackermann&lang=all Debian/AMD Sempron]
   
* [[Shootout/Harmonic]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=harmonic&lang=all Gentoo/P4] , [http://shootout.alioth.debian.org/benchmark.php?test=harmonic&lang=all Debian/AMD Sempron]
+
* [[/Harmonic]] - for [http://shootout.alioth.debian.org/gp4/benchmark.php?test=harmonic&lang=all Gentoo/P4] , [http://shootout.alioth.debian.org/benchmark.php?test=harmonic&lang=all Debian/AMD Sempron]
   
 
== Future benchmarks ==
 
== Future benchmarks ==
   
* [[Shootout/Healthcare]] - for [http://shootout.alioth.debian.org/sandbox/benchmark.php?test=health&lang=all Debian/AMD Sempron]
+
* [[/Healthcare]] - for [http://shootout.alioth.debian.org/sandbox/benchmark.php?test=health&lang=all Debian/AMD Sempron]
   
 
[[Category:Contests]]
 
[[Category:Contests]]

Revision as of 09:00, 18 November 2006

This is for entries to The Great Language Shootout.

Submitting guide

Now that GHC 6.6 is available, please use it! This gives us the option of using:

which should greatly improve clarity and brevity. Line count is not significant now (code is gzipped to determine size), so aim for maximum clarity.

Suggested best practices for submiting an entry to the shootout include:

  • Posting the proposed code to the community to allow for a best of breed entry. Proposed code is here on the wiki and often in the haskell-cafe mailing list. This has already helped improve the submitted code.
  • Provide complete performance measurements against the current best entry.
  • Creating clean, functional-style code or fast, imperative-style code. There are multiple versions ("GHC", "GHC#2", "GHC#3", "GHC#4") of GHC codes on many of the benchmarks with no clear rational for the different versions. It'd be better to have entries for "GHC" be clean, short, functional code and entries for "GHC-#2" be fastest, probably-ugliest code.
  • When you submit via the trac system, record in the wiki section for that entry a link to the submission.
  • Check for gzip file size before you submit -- lots of points to be had there.
--
-- The Great Computer Language Shootout, http://shootout.alioth.debian.org/
-- Haskell Shootout entries, http://haskell.org/haskellwiki/Great_language_shootout
-- 
-- Simon Marlow
-- Shortened by Don Stewart
--

Results

Haskell results for all benchmarks: Gentoo/P4 and Debian/AMD Sempron

Current benchmarks

Obsolete benchmarks

Future benchmarks