From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id IAA30843; Fri, 2 May 2003 08:02:48 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id IAA30830 for ; Fri, 2 May 2003 08:02:46 +0200 (MET DST) Received: from exchfe2.cs.cornell.edu (exchfe2.cs.cornell.edu [128.84.97.28]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id h4262kH01295 for ; Fri, 2 May 2003 08:02:46 +0200 (MET DST) Received: from EXCHVS2.cs.cornell.edu ([128.84.97.24]) by exchfe2.cs.cornell.edu with Microsoft SMTPSVC(5.0.2195.5329); Fri, 2 May 2003 02:02:42 -0400 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-MimeOLE: Produced By Microsoft Exchange V6.0.6375.0 Subject: RE: [Caml-list] comparison with C performance Date: Fri, 2 May 2003 02:02:41 -0400 Message-ID: Thread-Topic: [Caml-list] comparison with C performance Thread-Index: AcMQZCbh3JnOuBM0RuKxP2oLD8fSqAAC7JZQ From: "Gregory Morrisett" To: "Chet Murthy" , "Lex Stein" Cc: "Ocaml Mailing List" X-OriginalArrivalTime: 02 May 2003 06:02:42.0251 (UTC) FILETIME=[7176F9B0:01C31070] X-Spam: no; 0.00; morrisett:01 cornell:01 caml-list:01 ahem:01 horus:01 higher-level:01 -greg:01 caml:01 approaches:01 trivial:01 comparison:02 coding:03 jgm:03 algorithm:03 ensemble:03 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk >Mark Hayden basically proved that if you properly manage=20 >memory and a few other things, well, you can be faster than C,=20 >unless the C program is (ahem) trivial. Erm, no. The protocol optimizations used in Ensemble were never translated back into C. He compared against an older version (Horus) which used different algorithms and=20 acknowledged that if you translated the ideas from Ensemble back into C, you'd probably get a performance win. They never bothered to do this because the Caml code had acceptable performance. The key thing is that it was too hard to do the restructuring needed to experiment with new approaches to the group communications protocol in C. By coding in Caml, he was able to make massive rearrangements until he got the right algorithm. So, the point is that (a) algorithms matter a lot more than the delta between Caml vs. C, (b) it's easier to=20 experiment with better algorithms in a higher-level language. -Greg ------------------- 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