From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id E3C94BBAF for ; Tue, 23 Nov 2010 00:28:22 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvwBAFCL6kzRVdU0kGdsb2JhbACUMoYpAYgGCBUBAQEBCQkMBxEDH6M3iWOCGIVELohZAQEDBYVGBIpe X-IronPort-AV: E=Sophos;i="4.59,239,1288566000"; d="scan'208";a="80001073" Received: from mail-yw0-f52.google.com ([209.85.213.52]) by mail4-smtp-sop.national.inria.fr with ESMTP; 23 Nov 2010 00:28:22 +0100 Received: by ywf9 with SMTP id 9so765547ywf.39 for ; Mon, 22 Nov 2010 15:28:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=Ql38dPd5wPFq4pZ61kjrkL8/YRKxYSB2cKIFSgAIMWo=; b=lyBHtG77sThZtzZp9rN/tu1/b8mzAG2UHyCBjUo6scu2jJwbpAyxcOmz5ozJW1oPTo wQQFH1WgyXEwupRkoD93/tQt3R97LKF9uQG9BDM5RD/l+MlawmttMBTvsu5xBBdgiJ00 alOBFbS+mUq1AQ7CCIUvvbg9ZHV3mvbwcZ4Os= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=cEqp0aZJ4zadXS3cUu3taGkprD1OM3doUJTn3C6R+FvT+AkugfaCHA2vIAEu9fKsAZ BMqdkdhTwc2VC1kusGet30xstPWjMx9KmvTiEcwIlh9zt4kgK2ucKqktuC8Vpyq2QOVo EIVi2WYIjsnG3M7nAZLZ9J67aOnJEi0DoKsnU= MIME-Version: 1.0 Received: by 10.90.2.18 with SMTP id 18mr8127035agb.86.1290468500702; Mon, 22 Nov 2010 15:28:20 -0800 (PST) Received: by 10.91.154.3 with HTTP; Mon, 22 Nov 2010 15:28:20 -0800 (PST) In-Reply-To: References: <1290434674.16005.354.camel@thinkpad> <20101122180203.2126497sau3zukgb@webmail.in-berlin.de> Date: Tue, 23 Nov 2010 01:28:20 +0200 Message-ID: Subject: Re: [Caml-list] Is OCaml fast? From: Eray Ozkural To: David Rajchenbach-Teller Cc: Oliver Bandel , caml-list@yquem.inria.fr Content-Type: multipart/alternative; boundary=0016363102e99404d40495ac9c7e X-Spam: no; 0.00; ocaml:01 eray:01 ozkural:01 ciphers:01 ocaml:01 libs:01 parallelism:01 haskell:01 cheers:01 eray:01 ozkural:01 bilkent:01 ciphers:01 libs:01 parallelism:01 --0016363102e99404d40495ac9c7e Content-Type: text/plain; charset=ISO-8859-1 It's always funny to look at benchmarks made by amateurs. We get it all the time in parallel computing, when some sharp programmer decides to implement a parallel algorithm in Java. :) I keep asking myself questions like do you also program ciphers in Flash? Graph algorithms in PHP? In my experience, ocaml is pretty fast, quite comparable to C++, for computation-intensive tasks and of course excellent at traditional functional programming tasks. Since I use both kinds of algorithms in my research, ocaml is better than C++ for me (despite the great boost libs), except for shared memory parallelism, which is still non-existent in ocaml. Try implementing something that has a large time/memory complexity like a data mining algorithm, and you'll see the difference from Haskell/Java/Blah. Just run the algorithms in Weka, the famous data mining suite written in Java, and compare them to any sensible implementation of the same algorithms. Measure the difference, it's unbelievable how awful Java is at any kind of serious computing! I think some conservative humans from the future sent the designers of Java back in time to stop the singularity. Cheers, -- Eray Ozkural, PhD candidate. Comp. Sci. Dept., Bilkent University, Ankara http://groups.yahoo.com/group/ai-philosophy http://myspace.com/arizanesil http://myspace.com/malfunct --0016363102e99404d40495ac9c7e Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
It's always funny to look at benchmarks made by amateurs. We get i= t all the time in parallel computing, when some sharp programmer decides to= implement a parallel algorithm in Java. :) I keep asking myself questions = like do you also program ciphers in Flash? Graph algorithms in PHP? =A0

In my experience, ocaml is pretty fast, quite comparabl= e to C++, for computation-intensive tasks and of course excellent at tradit= ional functional programming tasks. Since I use both kinds of algorithms in= my research, ocaml is better than C++ for me (despite the great boost libs= ), except for shared memory parallelism, which is still non-existent in oca= ml.

Try implementing something that has a large time/memory= complexity like a data mining algorithm, and you'll see the difference= from Haskell/Java/Blah. Just run the algorithms in Weka, the famous data m= ining suite written in Java, and compare them to any sensible implementatio= n of the same algorithms. Measure the difference, it's unbelievable how= awful Java is at any kind of serious computing! I think some conservative = humans from the future sent the designers of Java back in time to stop the = singularity.

Cheers,

--
Eray Ozkural, P= hD candidate.=A0 Comp. Sci. Dept., Bilkent University, Ankara
http://groups.yahoo.com/group= /ai-philosophy
http://myspace.com/arizanesil= http://myspace.com/malfunct
--0016363102e99404d40495ac9c7e--