On Sun, May 3, 2009 at 2:24 PM, Daniel Carrera <daniel.carr...@theingots.org> wrote: > Hi, > > I think the mail server may have been acting up earlier. I sent this to > Haskell-beginners, but it more properly belongs here. > > I found something interesting. "General wisdom" is that Clean (or OCaml) is > faster than Haskell. The claim is often followed by a link to the Debian > shootout. But on closer inspection, I question this conclusion. The Debian > shoot out actually has four sets of benchmarks: > > 1) Intel 32-bit one core. > 2) Intel 32-bit quad-core. > 3) Intel 64-bit one core. > 4) Intel 64-bit quad-core. > > It turns out that Clean is only faster for (1). For the others, Haskell is > faster. Here I compare Haskell, Clean, OCaml, Lisp SBCL, C# Mono and Fortran > because they are all in the same ball mark: > > 32-bit sing core [1]: Lisp, Fortran, Clean, Haskell, C# Mono. > 32-bit quad-core [2]: Haskell, C# Mono, Lisp, Clean, Fortran. > 64-bit sing core [3]: Fortran, OCaml, Haskell, Clean, C# Mono, Lisp. > 64-bit quad-core [4]: Haskell, OCaml, Lisp, C# Mono, Fortran, Clean. > > Notes: > > * The order is "fast language first". > * There are no results for OCaml for 32-bit. > * "Lisp" is "List SCBL" whatever that is. > > Tentative conclusions: > > 1) Haskell makes very good use of multiple cores. It smokes Clean. > 2) For single core, they are neck and neck. Whether Clean is faster depends > non the architecture. > > > What do you think? > > Daniel. > > P.S. > [1]http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=all&d=data&ghc=on&ocaml=on&sbcl=on&csharp=on&ifc=on&clean=on&calc=calculate&box=1 > [2]http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=all&d=data&ghc=on&ocaml=on&sbcl=on&csharp=on&ifc=on&clean=on&calc=calculate&box=1 > [3]http://shootout.alioth.debian.org/u64/benchmark.php?test=all&lang=all&d=data&ghc=on&ocaml=on&sbcl=on&csharp=on&ifc=on&clean=on&calc=calculate&box=1 > [4]http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=all&d=data&ghc=on&ocaml=on&sbcl=on&csharp=on&ifc=on&clean=on&calc=calculate&box=1
Perhaps it's just that no one has parallelized the Clean programs? Haskellers seem to care about the shootout programs much more than Cleaners do. eg. I randomly looked at Mandelbrot on [2]. clean: http://shootout.alioth.debian.org/u32q/benchmark.php?test=mandelbrot&lang=clean&id=2 haskell: http://shootout.alioth.debian.org/u32q/benchmark.php?test=mandelbrot&lang=ghc&id=2 I can't really read Clean, but it certainly looks as if it's making no use of concurrency at all, while the Haskell one most certainly is. -- gwern _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe