From: Geert Bosch <geert@fozzie.sun3.iaf.nl>
Subject: Re: GNAT Executables: How low can you go?
Date: 1996/04/17
Date: 1996-04-17T00:00:00+00:00 [thread overview]
Message-ID: <Pine.SUN.3.91.960417100245.1349B-100000@fozzie.sun3.iaf.nl> (raw)
In-Reply-To: 31742475.1CFBAE39@escmail.orl.mmc.com
On Tue, 16 Apr 1996, Theodore E. Dennison wrote:
> Of course you realize that unless you have other applications running
> simultaniously on the system using those DLL's, you havent gained
> anything. You've just split your executable into several files. All
> the bytes are still there.
I didn't expect to have to defend why small executables are an advantage,
but I'll try to list some reasons:
* Disk space: typical combined savings of using dynamic linking with
the GNAT RTL, using LINK386 instead of ld and using compression are
are in the 100-350 kB per executable. I've got 95 GNAT
executables, which is good for a saving of 10 - 30 MB. (The 250 kB
of the DLL doesn't really matter.) So, you don't save a few kB, but
you'll save MB's. (Even with just 10 executables you might save a
few MB.
* I don't want my utility to be 10x as big as one written in C
(Most C programmers use the emx DLL's)
If I wrote a bunch of Unix-like commands for OS/2 using Ada and
they would be 100-200kB each, nobody would use my Unix utilities.
On the other hand, if they would be 10-20kB each, but you'd need
the 250 kB GNAT RTL everybody would think that would be reasonable,
esp. when you explain that DLL is the emxlibc equivalent for Ada.
So, not being able to create tiny executables hinders the acceptance
of Ada as a language for small programs.
Most people who don't know Ada, associate Ada with an old, large
bloated programming language which can only be used to write large
and boring applications which manifest themselves as bloated
executables. When my little utilities are 100-200 kB each, I don't
have the slighest chance of getting the language (or the
applications produced by it) accepted: I'd only reconfirm the
perception of Ada as large and bloated.
I know these are not purely technical reasons, but people don't
just at technical issues. When an Ada program is 10 times as
large as a C program, people will expect the Ada program to be
10 times as slow.
* In practise, on multitasking systems there will be many applications
using the same DLL's. If only the GNAT system with all utilities
would have been dynamically linked, this would save a lot of disk
space and memory space when you're using emxload.
* It is much easier to upgrade/improve the RTL without having to
rebuild the world. Of course measures need to be taken to ensure
that the interface doesn't change. For the RTL this shouldn't be
much of a problem.
Actually this last point was the reason for me to try to dynamically
linke the RTL. That way I could easily switch between the standard
implementation and my (still experimental) RTL using garbage collection.
Regards,
Geert
E-Mail: geert@sun3.iaf.nl *** As far as we know, there have not been ***
Phone: +31-53-4303054 ** any undetected failures in our software. **
next prev parent reply other threads:[~1996-04-17 0:00 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-04-13 0:00 GNAT Executables: How low can you go? Geert Bosch
1996-04-13 0:00 ` Robert Dewar
1996-04-16 0:00 ` Geert Bosch
1996-04-16 0:00 ` Theodore E. Dennison
1996-04-16 0:00 ` Robert Dewar
1996-04-18 0:00 ` Theodore E. Dennison
1996-04-18 0:00 ` Robert Dewar
1996-04-19 0:00 ` Theodore E. Dennison
1996-04-18 0:00 ` John Howard
1996-04-19 0:00 ` Robert Dewar
1996-04-17 0:00 ` Geert Bosch [this message]
1996-04-17 0:00 ` Michael F Brenner
1996-04-18 0:00 ` Geert Bosch
1996-04-18 0:00 ` Theodore E. Dennison
1996-04-19 0:00 ` Geert Bosch
1996-04-19 0:00 ` Robert Dewar
1996-04-26 0:00 ` Richard A. O'Keefe
1996-04-29 0:00 ` Theodore E. Dennison
1996-04-30 0:00 ` mjp
1996-04-26 0:00 ` Geert Bosch
1996-04-18 0:00 ` Theodore E. Dennison
1996-04-18 0:00 ` Robert Dewar
1996-04-19 0:00 ` Norman H. Cohen
1996-04-19 0:00 ` Theodore E. Dennison
1996-04-19 0:00 ` Robert Dewar
1996-04-20 0:00 ` Al Christians
1996-04-22 0:00 ` Theodore E. Dennison
1996-04-19 0:00 ` Fergus Henderson
1996-04-17 0:00 ` Cordes MJ
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox