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 PAA14905; Sat, 15 Nov 2003 15:42:35 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f 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 PAA14992 for ; Sat, 15 Nov 2003 15:42:34 +0100 (MET) Received: from mail1.tpgi.com.au (mail.tpgi.com.au [203.12.160.57]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id hAFEgV117822 for ; Sat, 15 Nov 2003 15:42:32 +0100 (MET) Received: from 203-219-16-195-syd-ts21-2600.tpgi.com.au (203-219-16-195-syd-ts21-2600.tpgi.com.au [203.219.16.195]) by mail1.tpgi.com.au (8.11.6/8.11.6) with ESMTP id hAFEgPB27410; Sun, 16 Nov 2003 01:42:25 +1100 Subject: Re: [Caml-list] Executable size? From: skaller Reply-To: skaller@ozemail.com.au To: John J Lee Cc: caml-list@inria.fr In-Reply-To: References: <3FB2B050.8050901@atcorp.com> <3FB3A6A6.8010108@atcorp.com> Content-Type: text/plain Message-Id: <1068903697.25869.101.camel@pelican> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.2 (1.2.2-4) Date: 16 Nov 2003 00:41:38 +1100 Content-Transfer-Encoding: 7bit X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 ozemail:01 statically:01 runtime:01 o'caml's:01 c's:01 stub:01 dynamically:01 relocatable:01 dynamically:01 ocamlrun:01 linked:01 compiler:01 ocaml:01 ocaml:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Fri, 2003-11-14 at 06:58, John J Lee wrote: > On Thu, 13 Nov 2003, Eric Dahlman wrote: > > OK. Getting back to the original question again (how to reduce data to be > transferred over the network), both O'Caml and C statically link this > runtime stuff, right? So, why is O'Caml's "hello world" (compressed) 45k, > to C's 1 or 2k? Is that 43k the garbage collector? Or is it mostly that > O'Caml, in contrast to C, is linking in a bunch of stuff from its standard > library that isn't strictly required for "hello world"? Or something else > again?? > > Hope I'm not going round in circles here... The Ocaml equivalent of a C stub program which dynamically links to the C run time is bytecode. Ocaml native code compiler, at least on the x86, does not generate relocatable code, and so Ocaml library functions cannot be dynamically linked. [At present .. :] In my opinion, you best bet is to generate bytecode and distribute that. Your clients WILL have to download the bigger ocamlrun driver harness, but hopefully only once. ------------------- 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