From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id F187FBC32 for ; Thu, 17 Mar 2005 01:00:01 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j2H001ZT024323 for ; Thu, 17 Mar 2005 01:00:01 +0100 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id BAA03294 for ; Thu, 17 Mar 2005 01:00:01 +0100 (MET) Received: from first.in-berlin.de (dialin-145-254-051-218.arcor-ip.net [145.254.51.218]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j2GNxxne024289 for ; Thu, 17 Mar 2005 01:00:00 +0100 Received: by first.in-berlin.de (Postfix, from userid 501) id 7304EBC27A; Thu, 17 Mar 2005 00:59:57 +0100 (CET) Date: Thu, 17 Mar 2005 00:59:57 +0100 From: Oliver Bandel To: caml-list@inria.fr Subject: Re: [Caml-list] OCaml troll on Slashdot Message-ID: <20050316235957.GB439@first.in-berlin.de> References: <200503152036.45894.jon@ffconsultancy.com> <32977.131.254.50.45.1110920621.squirrel@mail.irisa.fr> <172f01077499b3d417604d0ad31f2bdb@cs.unm.edu> <20050316001819.GB347@first.in-berlin.de> <20050316025532.GA593@first.in-berlin.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.6i X-Miltered: at nez-perce with ID 4238C881.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 4238C87F.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; oliver:01 bandel:01 oliver:01 in-berlin:01 caml-list:01 ocaml:01 bandel:01 in-berlin:01 ocaml:01 imho:01 lazy:01 lazy:01 ocaml-code:01 programmer's:01 speedup:01 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.1 required=5.0 tests=FORGED_RCVD_HELO autolearn=disabled version=3.0.2 X-Spam-Level: On Wed, Mar 16, 2005 at 02:33:10PM +0100, Yoann Padioleau wrote: > Oliver Bandel writes: > > > If he only would be cynic about "well I tried it, but it has proven > > it's a crap language... but I give you (experienced OCaml programmers) > > the chance to show me that it isn't bad (and *I* have o learn the language)" > > then this woul be ok. > > I agree. > > > Maybe I'm wrong here and he's a good guy. But IMHO it seems he's looking > > for proved Ocaml-failure (and not for "well, I tried it, it seems OCaml sucks, > > but please tell me it does not!", which I could accept). > > I think his intention were good (but he is surely a bad guy too). > > > Do you think *I'm the bad guy*?! > > no :) of course not :) > > > > I am not sure that making the function tail-recursive would have been the big > > > hit in this example. > > > > But as long as nobody tried it / analzed it, your assumption is > > only an assumption, as my assumption is only an assumotion too! > > Well at least my assumption about "use Map instead of assoc list is a big hit" > has been proven. The running time from the program go from "more than 16 minutes" to just > 50 seconds (this is what I call a big hit). > It would be interesting to make his function tail-rec (and keeping the assoc list) > and see if it is a big hit but I am too lazy for this and I hate > those tail-rec transformation and I think it would > not be a big hit cos using Map and Array is the big hit. > It's your turn oliver bandel to do the job :) Well, I'm too lazy for that job too. :) But going from > 16 minutes to about 50 seconds is a good performance boost. :) But if c++ is beyond 1 second, that is the direction to go... Well, I'm shure that it is not really a problem to write OCaml-code that can compete with the C++ code. :) But especially THAT is the reason, why there is not really a motivation to do that job: We not have to save the church of OCaml in a sense of a faith... ...in the sense of "Faith occurs when a person believes that something is true even though he suspects it is false". ...so it's not necessary to do the holy war... ... if you every day see, how fast OCaml programs can be... ...and if you know how much the programmer's blindness yields to slow programs (as I often had to experience), then no stress is coming up to do that job... ... the map-stuff has shown how far one can go with Ocaml and I'm shure there is a lot more optimization possible. So, there is not enough motivation to do that optimization, because I know that it is possible. ;-) It's up to the troll to show that tailrec functions will *not* gain to a speedup and that 50 seconds is the best what is possible with OCaml... ;-) The 16 min => 50 seconds speedup has shown enough potential and disarmed the troll I think. The rest can be done on the language shootout, as Jon suggested. Maybe *then* there is a motivation (maybe something like a micro-programming contest... ;-)) Ciao, Oliver