From: Vadim Godunko <vgodunko@gmail.com>
Subject: Re: GNAT's stack checking in Ubuntu 9.04 (and Shootout regex-dna)
Date: Tue, 4 Aug 2009 05:30:07 -0700 (PDT)
Date: 2009-08-04T05:30:07-07:00 [thread overview]
Message-ID: <2b246c40-ef58-4845-8940-5c9ec176a292@24g2000yqm.googlegroups.com> (raw)
In-Reply-To: 4a781100$0$30236$9b4e6d93@newsspool1.arcor-online.net
On Aug 4, 2:44 pm, Georg Bauhaus <rm.dash-bauh...@futureapps.de>
wrote:
> It hits the limit exaclty when the array of 625_000
> default initialized Vstrings is allocated on the stack.
> No operations performed at that point.
>
> > Unbounded_String uses constant size of stack for object itself and
> > uses dynamic size on heap for actual value.
>
> Yes. How much does a default initialized Unbounded_String
> use when it is an array component? (I'll debug this when
> there is more time; just in case you happen to know,
> would be most helpful.)
>
Its very easy to discover:
with Ada.Strings.Unbounded; use Ada.Strings.Unbounded;
package Tst is
type T is array (Positive range <>) of Unbounded_String;
X : T (1 .. 625_000);
end Tst;
> gcc -c -gnatR3 tst.ads
Representation information for unit Tst (spec)
----------------------------------------------
for T'Alignment use 16;
for T'Component_Size use 512;
for X'Size use 320000000;
for X'Alignment use 16;
So, on my platform (OpenSUSE Linux/x86_64) array of Unbounded_String
with 625_000 components occupy approximately 40Mb.
next prev parent reply other threads:[~2009-08-04 12:30 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-03 22:54 GNAT's stack checking in Ubuntu 9.04 (and Shootout regex-dna) Georg Bauhaus
2009-08-03 22:56 ` Georg Bauhaus
2009-08-04 7:50 ` Ludovic Brenta
2009-08-04 9:17 ` Georg Bauhaus
2009-08-04 9:58 ` Vadim Godunko
2009-08-04 10:44 ` Georg Bauhaus
2009-08-04 12:30 ` Vadim Godunko [this message]
2009-08-04 14:15 ` Georg Bauhaus
2009-08-04 22:20 ` Egil
2009-08-04 15:38 ` Robert A Duff
2009-08-04 11:59 ` Brian Drummond
2009-08-04 14:18 ` Georg Bauhaus
2009-08-09 19:13 ` Georg Bauhaus
2009-08-10 13:10 ` jonathan
2009-08-10 20:12 ` jonathan
2009-08-10 20:29 ` Ludovic Brenta
2009-08-10 23:34 ` Georg Bauhaus
2009-08-11 20:02 ` jonathan
2009-08-11 21:19 ` jonathan
2009-08-11 21:38 ` Georg Bauhaus
2009-08-11 0:27 ` Georg Bauhaus
2009-08-11 19:05 ` jonathan
2009-08-12 9:32 ` Ludovic Brenta
2009-08-12 16:37 ` jonathan
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox