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