Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] Great Programming Language Shootout Revived
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2004-06-18 (07:56)
From: Ville-Pertti Keinonen <will@e...>
Subject: Re: [Caml-list] Great Programming Language Shootout Revived

On Jun 17, 2004, at 9:05 PM, Brian Hurt wrote:

> board is pretty damned good- we're beating both Java and C++ across the
> board, in fact the only other language that comes close to Ocaml's
> performance is, unsurprisingly, version of SML- MLton and SML/NJ).  
> But if

I looked at it a bit earlier (when it was posted on LtU), and MLton and 
SML/NJ were both ahead of OCaml in the overall scorecard for CPU.  
There was probably a bug in computing the totals, as the raw scores 
don't seem to have changed.

Anyhow, the shootout seems, like most benchmarks, to be misleading and 
arbitrary.  The language features compared are not really equivalent.  
E.g. C, C++ and Ada should be approximately the same in performance for 
code that doesn't compare their libraries or exception models.  Despite 
doing things like disabling array index checks, it seems some of the 
Ada benchmarks don't even use types equivalent to the C versions.

OCaml does have good performance characteristics - decent overall code 
generation, fast exceptions, fast memory allocation and a simple, 
lightweight standard library - but most of the benchmarks in the 
shootout are simply bogus for many of the languages.  They can be 
useful if you compare the performance of specific languages in specific 
benchmarks, as long as you look at the code as well to see what it is 
that's really being compared.

A more interesting way to compare programming languages might be to see 
what programming techniques are possible (and efficient) in different 
languages and how well suited they are for different tasks.  As you've 
noted, no one language is good at everything.  One reason I like OCaml 
is that it makes a reasonable range of techniques efficient, and it 
doesn't have DSLish characteristics.

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: