comp.lang.ada
 help / color / mirror / Atom feed
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. **





  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