comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Size of linked program increasing with new version of GNAT.
Date: Fri, 26 Dec 2014 19:48:03 -0600
Date: 2014-12-26T19:48:03-06:00	[thread overview]
Message-ID: <m7l34j$gak$1@loke.gir.dk> (raw)
In-Reply-To: 4a5a3301-958b-41fd-9d1a-7ab35021daa0@googlegroups.com

"Tony" <tony7@tele2.se> wrote in message 
news:4a5a3301-958b-41fd-9d1a-7ab35021daa0@googlegroups.com...
> On Friday, December 26, 2014 4:56:16 PM UTC+1, Simon Clubley wrote:
>> It would be interesting for the OP to run the binutils size command on
>> both executables and post the results.
>
> OK, GNAT 3.15p:
> C:\Tony\Ada_program\Tests>size hello.exe -A
> hello.exe  :
> section    size      addr
> .text    62428   4198400
> .data     2244   4263936
> .bss     21124   4268032
> .idata    2416   4292608
> Total    88212
>
> GNAT 2014:
> C:\Tony\Ada_program\Tests>size hello.exe -A
> hello.exe  :
> section      size      addr
> .text      133348   4198400
> .data        1092   4333568
> .rdata      15500   4337664
> .eh_fram    41432   4354048
> .bss        13892   4399104
> .idata       5112   4415488
> .CRT           52   4423680
> .tls           32   4427776
> Total      210460

As should be obvious, the tasking runtime for Ada 2005 and Ada 2012 is 
substantially more complex than that for Ada 95 alone. Since GNAT doesn't 
eliminate the tasking runtime (like Janus/Ada does), the program size is 
going to go up for every new Ada version (and probably every new compiler 
version, too). Even with Janus/Ada, the runtime tends to go up a bit with 
every version (more detailed messages for handling, additional capabilities 
for the heap, etc.)

But that's all irrelevant unless you are targetting a very small embedded 
system. In which case, you'd be better off with a compiler that was designed 
to target very small systems (hint, hint :-). Otherwise, there is so much 
memory available, and so much of the newer capabilities that are probably 
used in a real system, that there really isn't any point in worrying about 
it.

Now, if you have a reference set of programs that double in size, that might 
be relevant. (Lots of memory doesn't mean that it is completely free.) 
Otherwise, it matters about as much as the runtime performance on the old 
Byte Primes benchmark.

                                     Randy.


  reply	other threads:[~2014-12-27  1:48 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-25 17:44 Size of linked program increasing with new version of GNAT Tony
2014-12-25 17:57 ` Björn Lundin
2014-12-25 18:36   ` tony7
2014-12-25 19:41     ` Björn Lundin
2014-12-25 20:04       ` Shark8
2014-12-25 20:15       ` tony7
2014-12-25 21:23         ` Shark8
2014-12-25 22:48           ` Peter Chapin
2014-12-27  1:39             ` Randy Brukardt
2014-12-27  6:43               ` Simon Wright
2014-12-27 18:25                 ` Tony
2014-12-27 23:18                   ` Simon Wright
2014-12-29 23:56                   ` Randy Brukardt
2014-12-30 15:21                     ` Björn Lundin
2014-12-30 17:45                     ` Tony
2014-12-30 21:58                       ` Randy Brukardt
2014-12-30 23:51                         ` Shark8
2014-12-31 12:08                     ` Jean François Martinez
2014-12-31 12:45                       ` Dmitry A. Kazakov
2015-01-01 12:28                         ` Georg Bauhaus
2014-12-26 14:32 ` Pascal Obry
2014-12-26 15:48   ` J-P. Rosen
2014-12-26 15:55   ` Simon Clubley
2014-12-26 20:14     ` Tony
2014-12-27  1:48       ` Randy Brukardt [this message]
2014-12-27  9:35     ` Pascal Obry
2014-12-27 21:17     ` Jean François Martinez
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox