Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] Executable size?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2003-11-12 (19:05)
From: Dustin Sallings <dustin@s...>
Subject: Re: [Caml-list] Executable size?

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 Archives:
Bug reports: FAQ:
Beginner's list: