From: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Subject: Re: Efficient Matrix?
Date: 28 Dec 2002 15:48:11 GMT
Date: 2002-12-28T15:48:11+00:00 [thread overview]
Message-ID: <slrnb0rhtr.4rb.adi@drcomp.erfurt.thur.de> (raw)
In-Reply-To: BA337210.16F9%yaldnifw@blueyonder.co.uk
Bill Findlay <yaldnifw@blueyonder.co.uk> wrote:
>>> It's got nothing to do with the fact that the thing is heap allocated,
>>> nor the fact that the bounds are not known at compile time.
>> For the variable A it is even known, but I was not able to determine
>> a valuable difference in memory-comsumption.
> I get good results as follows, with GNAT 5.00w for MacOS X.
What you get is exactly what I meant:
The compiler optimizes if it is a constrained type and does nothing if
it is unconstrained as the original poster wanted it.
For sure it would be better to use a constrained subtype. Here your
program modified to the asked context:
with Ada.Text_IO; use Ada.Text_IO;
procedure bla is
type unconstrained_type is
array (Positive range <>, Positive range <>) of Boolean;
for unconstrained_type'Component_Size use 1;
pragma Pack (unconstrained_type);
type unconstrained_type_ptr is access unconstrained_type;
A : unconstrained_type_ptr := new unconstrained_type
(1 .. 10000, 1 .. 5000);
begin
Put_Line (Integer'Image (unconstrained_type'Component_Size));
Put_Line (Integer'Image (A.all'Size));
end bla;
------
adi@drcomp:/tmp$ ./bla
8
400000000
(last value is 50000000*8)
--
mail: adi@thur.de http://adi.thur.de PGP: v2-key via keyserver
Der merkt halt, dass das seine muttermilch ist, die gerade �bertragen wird.
(user w�hrend des dd's der root-partition auf den fileserver)
next prev parent reply other threads:[~2002-12-28 15:48 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <3e0b2a66_4@news.bluewin.ch>
2002-12-26 22:09 ` Efficient Matrix? Adrian Knoth
2002-12-27 0:23 ` Alvery Grazebrook
2002-12-27 9:53 ` Adrian Knoth
2002-12-27 16:58 ` Robert A Duff
2002-12-28 1:44 ` Nick Roberts
2002-12-28 13:00 ` Adrian Knoth
2002-12-28 15:21 ` Bill Findlay
2002-12-28 15:48 ` Adrian Knoth [this message]
2002-12-28 23:26 ` Adrian Knoth
2002-12-28 16:07 ` Robert A Duff
2002-12-28 17:25 ` Bill Findlay
2002-12-28 17:35 ` Bill Findlay
2002-12-28 20:51 ` Robert A Duff
2002-12-28 15:58 ` Robert A Duff
2002-12-28 17:19 ` Adrian Knoth
2002-12-28 19:16 ` James S. Rogers
2002-12-28 20:45 ` Robert A Duff
2002-12-28 22:07 ` Adrian Knoth
2002-12-28 23:42 ` Robert A Duff
2002-12-27 12:25 ` Gautier
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox