Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Some clarifications to the language shootout page
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Siegfried Gonzi <siegfried.gonzi@k...>
Subject: Re: [Caml-list] Some clarifications to the language shootout page
isaac gouy wrote:

>Although the Great Language Shootout is no longer
>updated, your new faster imlementations can be sent to
>the Great Win32 Language Shootout:
>
>http://dada.perl.it/shootout/index.html
>
I am not sure how the original language shootout page obtained their 
results, but the new code improves the situation dramatically (I did 
just test double precision because I do not see any sense in using 
integers):

The more or less original language shootout page benchmark 
(dimension=30, repetitions=300): Celeron 1000MHz, RAM 256MB, SuSE 8.0 Linux:

Bigloo: 0.16/0.14/0.01s
OCAML (Weis): 0.12/0.12/0.0s
OCAML (Mottl): 0.6/0.6/0.0s
C: 0.06/0.06/0.0s

for 600 repetitions:

Bigloo: 0.3/0.3/0.02s
OCAML (Weis): 0.23/0.23/0.0s
OCAML (Mottl): 1.1/1.1/0.01s
C: 0.11/0.11/0.01s

I think under best circumstances an OCaml code can come close to C by a 
factor of 2 and Bigloo can come close to C by a factor of 3 if you use 
it for numerically intense calculations . In reality the situation is 
often better. I have a Bigloo and equivalent C++ program which extracts 
numbers from text files. And reading in a  50MB file takes in Bigloo 
(note: ordinary Scheme types and not native Bigloo ones)  just the same 
time (30 seconds) as in C++.

I would always prefer Scheme (Bigloo) because fiddling with types is 
always required by the OCaml compiler (it can be as awful as with Clean) 
whereas in Bigloo you will have to resort to type issues when you 
strieve for speed (this is often a very small part of the code).


S. Gonzi


-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners