From: Corey Minyard <minyard@acm.org>
Subject: Re: Gnat Executable Size
Date: 1998/10/11
Date: 1998-10-11T00:00:00+00:00 [thread overview]
Message-ID: <m2d87ydi09.fsf@wf-rch.cirr.com> (raw)
In-Reply-To: 362091CF.594AA72D@icon.fi
Niklas Holsti <nholsti@icon.fi> writes:
> Robert B. Love wrote:
> >
> > Over in the Modula-2 newsgroup somebody was asking about free compilers.
> > Another person pointed out GNAT as suitable for his task and free.
> > Ada vs. M2 wasn't the issue. The original poster said he'd tried GNAT
> > on a simple "hello world" program and was surprised to see a 200K
> > executable. Others said their favorite M2 compiler yielded about 10K
> > executables for this.
> >
> > I tried a simple Put_Line program myself with GNAT under Linux and
> > got an 84K program. I've played with Pragma Optimze(Space) and
> > Pragma Supress (All_Checks) but it stays about 84K.
> >
> > I then run strip on the GNAT generated executable and get it down to
> > about 47K.
> >
> > How small can GNAT get "Hello World"? What compiler options and pragmas
> > would you use for this?
>
> On my i486 Slackware Linux 2.0.0, GNAT 3.05 generates an executable
> for Put_Line("Hello world!") of 22842 bytes (not stripped) or 10400
> bytes (stripped). Compiler options were "-c -g". Seems comparable
> to the M2 sizes. Source code below.
>
With 3.11b I get 57832 after stripping no matter how I compile it
(optimiation at any level, with or without runtime checks) on my Linux
box. Which makes sense because there's nothing to check or optimize.
This seems like a silly thing to be worried about. All it measures is
the efficiency of including a minimal set of I/O libraries for a
minimal program.
Note that the .o files for a C and Ada version of "Hello World" are
within 16 bytes in size for gcc and gnat, and about that difference in
actual executable code and data.
--
Corey Minyard Internet: minyard@acm.org
Work: minyard@nortel.ca UUCP: minyard@wf-rch.cirr.com
next prev parent reply other threads:[~1998-10-11 0:00 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-10-10 0:00 Gnat Executable Size Robert B. Love
1998-10-11 0:00 ` Niklas Holsti
1998-10-11 0:00 ` Corey Minyard [this message]
1998-10-12 0:00 ` Andi Kleen
1998-10-11 0:00 ` Lieven Marchand
1998-10-13 0:00 ` Robert B. Love
1998-10-11 0:00 ` Bryce Bardin
1998-10-12 0:00 ` Donald Duck
1998-10-14 0:00 ` dewar
1998-10-15 0:00 ` Donald Duck
1998-10-16 0:00 ` Gnat Free ? Donald Duck
1998-10-16 0:00 ` Pascal Obry
1998-10-16 0:00 ` Donald Duck
1998-10-16 0:00 ` dewar
1998-10-19 0:00 ` Pascal Obry
1998-10-19 0:00 ` dewar
1999-02-13 0:00 ` Fred J. McCall
1998-10-16 0:00 ` dennison
1998-10-16 0:00 ` dewar
1998-10-16 0:00 ` Ronald Cole
1998-10-16 0:00 ` Andi Kleen
1998-10-17 0:00 ` dewarr
1998-10-18 0:00 ` Jonathan Guthrie
1998-10-18 0:00 ` Brian Rogoff
1998-10-19 0:00 ` Jonathan Guthrie
1998-10-18 0:00 ` Brian Rogoff
1998-10-19 0:00 ` dewar
1998-10-19 0:00 ` Andi Kleen
1998-10-19 0:00 ` dewar
1998-10-23 0:00 ` Bruno BEAUFILS
1998-10-25 0:00 ` dewar
1998-10-19 0:00 ` dewar
1998-10-18 0:00 ` Ronald Cole
1998-10-19 0:00 ` dewar
1998-10-21 0:00 ` Ronald Cole
1998-10-19 0:00 ` dewar
1998-10-17 0:00 ` Jerry van Dijk
1998-10-18 0:00 ` Andi Kleen
1998-10-18 0:00 ` Ronald Cole
1998-10-19 0:00 ` Jerry van Dijk
1998-10-20 0:00 ` dennison
1998-10-17 0:00 ` dewarr
1998-10-17 0:00 ` The Ludwig Family
1998-10-18 0:00 ` dewar
1998-10-19 0:00 ` Dale Pontius
1998-10-19 0:00 ` dewar
1998-10-18 0:00 ` Ronald Cole
1998-10-19 0:00 ` dewarr
1998-10-21 0:00 ` Ronald Cole
1998-10-19 0:00 ` Ronald Cole
1998-10-19 0:00 ` dewarr
1998-10-23 0:00 ` system
1998-10-16 0:00 ` dewar
1998-10-17 0:00 ` David C. Hoos, Sr.
1998-10-17 0:00 ` Jean-Pierre Rosen
1998-10-14 0:00 ` Gnat Executable Size geertbosch
1998-10-12 0:00 ` dennison
1998-10-12 0:00 ` Dave Wood
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox