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 UAA03528; Wed, 12 Nov 2003 20:05:09 +0100 (MET) 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 UAA03752 for ; Wed, 12 Nov 2003 20:05:07 +0100 (MET) Received: from bob.west.spy.net (mail.west.spy.net [66.149.231.226]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id hACJ55106180 for ; Wed, 12 Nov 2003 20:05:05 +0100 (MET) Received: from [10.9.254.240] (sjc-dist3-e3.2wire.com [63.203.253.2]) by bob.west.spy.net (Postfix) with ESMTP id F19876578; Wed, 12 Nov 2003 11:05:00 -0800 (PST) In-Reply-To: References: Mime-Version: 1.0 (Apple Message framework v606) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <1CB6CB78-1543-11D8-A660-000393CFE6B8@spy.net> Content-Transfer-Encoding: 7bit Cc: caml-list@inria.fr From: Dustin Sallings Subject: Re: [Caml-list] Executable size? Date: Wed, 12 Nov 2003 11:04:59 -0800 To: John J Lee X-Mailer: Apple Mail (2.606) X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 dlls:01 istr:01 python:01 python:01 ocaml's:01 runtime:01 exes:01 exes:01 apps:01 afaik:01 bytecode:01 bytecode:01 executables:01 executables:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Nov 12, 2003, at 10:36, John J Lee wrote: >> The stuff I build on my Mac ends up being about 300k so far. That >> seems reasonably small to me. > > Thanks. From how many lines of source code? Probably around 800 of my own and whatever the unix library brings. > How big is the "hello world" executable? -rwx--x--x 1 dustin staff 138452 12 Nov 10:55 a.out* (or stripped) -rwx------ 1 dustin staff 111532 12 Nov 10:55 a.out* >> I'm not sure what a modem has to do with your distribution, but there > > If you're distributing executables over the internet to people who use > modems (ie., most people ;-), download size is important. -rwx------ 1 dustin staff 42425 12 Nov 10:55 a.out.gz* >> are options. You could distribute the source to your app (which will >> be way smaller than the equivalent C or C++ application) and compile >> elsewhere, or you can use the transfer time to bask in your >> productivity and performance gains. :) > > Unfortunately, neither is an option. I want to distribute single > executables (for Windows, anyway). Actually, another issue: can O'Caml > generate Windows DLLs? ISTR some issue about that... I'm happy to say I've never written any code that was intended to run under Windows, so I can't answer that question. >> Python is a bad reference for two reasons: >> >> 1) You don't typically distribute compiled python apps (and when you >> do, it's always bytecode). >> 2) Ocaml's runtime is *amazingly* fast. > > Well, bad reference for what purposes? I don't care whether there's > bytecode, machine code, or lemon jelly in my .exes, as long as they're > small :-) And I don't need any speed above what Python provides. I wasn't aware you could distribute python exes. That was my point. You can for OS X because of the way applications work in OS X, but that's quite different from anything I've seen in Windows (which, AFAIK, doesn't even ship with python). I have to say I'm really surprised by such a strong emphasis on executable size. I've been learning various programming languages specifically because I want to create more reliable applications with reasonable performance with less effort (both initially and throughout the lifetime of the application). -- Dustin Sallings ------------------- 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