From: "Steve" <nospam_steved94@comcast.net>
Subject: Re: Help needed for ada package
Date: Fri, 29 Jul 2005 18:44:07 -0700
Date: 2005-07-29T18:44:07-07:00 [thread overview]
Message-ID: <t_KdnbsuvsxUR3ffRVn-qg@comcast.com> (raw)
In-Reply-To: uaaje1d0l4tp1kjs18mkrgfmbkcir308bt@4ax.com
"Dennis Lee Bieber" <wlfraed@ix.netcom.com> wrote in message
news:uaaje1d0l4tp1kjs18mkrgfmbkcir308bt@4ax.com...
> On Thu, 28 Jul 2005 20:33:32 +0200, Ludovic Brenta
> <ludovic.brenta@tiscali.be> declaimed the following in comp.lang.ada:
>
>
>>
>> Since the type ID is discrete, why not just use that as the array index
>> type?
>>
> That's the approach I took, though some things aren't quite as
> clean (I used explicit ranges... should have tried compiling with just
> the type).
>> Of course, the above solution is outrageously inefficient, both
>> memory- and CPU-wise. Optimisations are left as an exercise to the
>> reader.
>
> Tell me about it -- for the 1000000 population, I estimated over
> 100GB needed for the association matrix alone, even packing 1-bit
> booleans. I then did version 2, using "Steve's" suggestion of encoding
> the group identifier into the population data itself... associate() went
> from two lines to a page, but half the declarations disappear.
>
> I will not be posting that version as it is too close to being
> directly usable (I didn't write a test suite, so couldn't run it, but it
> did compile cleanly).
>
Perhaps I'm a little naive, but I really don't understand why you need to
keep any more than:
type Persson is
record
Citizen_Id : ID;
Badness : Rating;
Group_Id : Natural;
end record;
type Population is array( 1 .. 1_000_000) of Person;
Society : Population;
Next_In : Positive; -- Add new elements here
Next_Out : Positive; -- Retrieve next from current group here
Baddest : Positive; -- Index to baddest entry
Current_Group_Id : Natural;
You do wind up scanning the list to do just about anything, but speed was
not a requirement.
Steve
(The Duck)
[snip]
>
>
> --
> > ============================================================== <
> > wlfraed@ix.netcom.com | Wulfraed Dennis Lee Bieber KD6MOG <
> > wulfraed@dm.net | Bestiaria Support Staff <
> > ============================================================== <
> > Home Page: <http://www.dm.net/~wulfraed/> <
> > Overflow Page: <http://wlfraed.home.netcom.com/> <
next prev parent reply other threads:[~2005-07-30 1:44 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1122305318.728942.304120@f14g2000cwb.googlegroups.com>
2005-07-25 17:45 ` Help needed for ada package Marc A. Criley
2005-07-25 17:47 ` Simon Clubley
2005-07-25 18:21 ` Georg Bauhaus
2005-07-25 18:46 ` Frank J. Lhota
2005-07-25 19:26 ` tmoran
2005-07-25 22:12 ` Ludovic Brenta
2005-07-25 23:33 ` Jeffrey Carter
2005-07-26 17:29 ` Pascal Obry
2005-07-26 19:03 ` Ed Falis
2005-07-26 19:05 ` Pascal Obry
2005-07-26 22:20 ` Jeffrey Carter
2005-07-27 9:07 ` Georg Bauhaus
2005-08-01 5:37 ` Dave Thompson
2005-08-01 12:37 ` Adrien Plisson
2005-07-26 3:17 ` Steve
[not found] ` <1122475184.849564.159870@g44g2000cwa.googlegroups.com>
2005-07-27 17:13 ` Martin Krischik
2005-07-27 18:03 ` Simon Wright
2005-07-28 0:58 ` Jeffrey Carter
2005-07-28 1:53 ` tmoran
2005-07-28 16:21 ` Jeffrey Carter
2005-07-28 2:27 ` Steve
[not found] ` <1122547648.069514.63520@g14g2000cwa.googlegroups.com>
2005-07-28 18:33 ` Ludovic Brenta
2005-07-28 19:51 ` tmoran
[not found] ` <uaaje1d0l4tp1kjs18mkrgfmbkcir308bt@4ax.com>
2005-07-29 8:37 ` tmoran
2005-07-30 1:44 ` Steve [this message]
2005-07-29 1:57 ` Steve
[not found] ` <1122980923.842598.181310@g49g2000cwa.googlegroups.com>
2005-08-02 11:37 ` Adrien Plisson
2005-08-02 12:05 ` Georg Bauhaus
[not found] ` <1122986293.760710.320180@g44g2000cwa.googlegroups.com>
2005-08-02 13:19 ` Adrien Plisson
2005-08-02 14:26 ` Georg Bauhaus
[not found] ` <1122995870.689997.66000@g44g2000cwa.googlegroups.com>
2005-08-02 15:38 ` Georg Bauhaus
[not found] ` <1122997736.667017.104140@o13g2000cwo.googlegroups.com>
2005-08-02 16:37 ` Georg Bauhaus
2005-08-02 16:52 ` Jeffrey Carter
[not found] ` <o04ve11odsjs756915g5eonn0g1guopih2@4ax.com>
2005-08-02 23:21 ` tmoran
[not found] ` <1123069124.562944.246730@o13g2000cwo.googlegroups.com>
2005-08-03 12:08 ` Georg Bauhaus
2005-08-03 16:13 ` Jeffrey Carter
2005-08-03 17:57 ` Georg Bauhaus
2005-08-03 16:48 ` Martin Dowie
[not found] ` <1123084562.854161.299550@g44g2000cwa.googlegroups.com>
2005-08-03 17:58 ` Georg Bauhaus
[not found] ` <n0o1f1lqsbi23bt7b2li6oc85r7pgfn9d5@4ax.com>
[not found] ` <1123090742.323338.311230@f14g2000cwb.googlegroups.com>
2005-08-03 18:07 ` Georg Bauhaus
2005-08-03 20:18 ` Simon Wright
2005-08-04 0:59 ` Jeffrey Carter
2005-08-04 5:42 ` Simon Wright
[not found] ` <1123173235.773051.23360@z14g2000cwz.googlegroups.com>
2005-08-04 16:50 ` Simon Clubley
[not found] ` <1123174747.107994.317580@o13g2000cwo.googlegroups.com>
2005-08-04 16:27 ` Georg Bauhaus
2005-08-04 20:14 ` Simon Wright
[not found] <1122320036.858648.242630@f14g2000cwb.googlegroups.com>
2005-07-26 0:47 ` tmoran
[not found] <1122372224.124606.271380@f14g2000cwb.googlegroups.com>
2005-07-26 17:31 ` tmoran
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox