Compiler: Size of generated executable file

retard re at tard.com.invalid
Sun Jan 10 07:23:20 PST 2010


Sun, 10 Jan 2010 12:25:16 +0100, Chris wrote:

> "Nick Sabalausky":
>> "Ph":
>>> Why a generated file is so huge? [...]
>> That's not even a third of a megabyte, why does this keep getting
>> brought up as an issue by so many people?
> 
> Execution speed perhaps, since the time elapsed is proportional to the
> number of processor instruction executed. This explains why some people
> (for certain time critical apps) do not even take the step from C to
> C++, and chose to stay 20 year behind "modern" languages.
> 
> D presented itself being a high level language suitable for system
> programming, so executable sizes must be taken into consideration, imho.
> 
> Year after year I see the sizes of overbloated executables to grow with
> non-proportional added substance. I am totally shocked when for only to
> add a reference to an external library, my program burn the space of an
> entire computer of old good days.
> 
> I simply can't get used to it, and probably never will for anyone who
> used to code in low-level languages, since they know how much a program
> size can really be.

What's funny is that more and more computation can be done with a single 
instruction because of SSE1-4.2/MMX. Also register sizes grow so 
computation does not need to be split into many registers because of 
overflow issues. Also CPUs get faster so a tighter algorithm with a bit 
slower performance could be used instead.

Unfortunately computer programs seem to inflate over time. A typical 
program doubles its size in 2-3 years. I would understand this if a 
tradeoff was made between size and performance but unfortunately many 
programs also perform worse than before.

There are exceptions such as the linux kernel - IIRC it fit in a 1.4MB 
floppy along with a basic set of userspace programs. Nowadays, 15 years 
later, my hand-built kernel is about 2.5 .. 3x larger. On the other hand 
it supports more hardware now. I used to have drivers for 4x read only 
cd, vesa video, sound blaster 16, iomega zip, floppy, and parallel 
printer. Nowadays I have 2-3 times as many devices connected to the PC 
and most of them are much more advanced - bi-directional printer link, 
dvd-rw etc.



More information about the Digitalmars-d mailing list