From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,8fd45d32d7c94df3 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!feeder.news-service.com!85.214.198.2.MISMATCH!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Warren Newsgroups: comp.lang.ada Subject: Re: User Defined Storage Pool : did you ever experiment with it ? Date: Wed, 26 Jan 2011 20:13:29 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: Injection-Date: Wed, 26 Jan 2011 20:13:29 +0000 (UTC) Injection-Info: mx03.eternal-september.org; posting-host="9f8M0iN5t54V+4DF/iqO8g"; logging-data="17671"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18KRGv9ybFaky6nv72OqFQamWSW48x0qJk=" User-Agent: Xnews/5.04.25 X-Face: Q6Y+Q_X]<\8oQ/rp{BzDl'qEDLJ)n8Z/ATHPM2Vp&P]11]2$+c~srYf0>2'Pz0_jP=U6.#I-1I*7|#mcb-@KJYZ=# =?utf-8?Q?Yannick_Duch=C3=AAne_=28Hibou57?= =?utf-8?Q?=29?= expounded in news:op.vpont3pqule2fv@garhos: > Ada has provision for user defined storage pool, that is, > an application may have a (or multiple) custom > implementation of a heap or like for any kind of object. > http://www.ida.liu.se/edu/ugrad/progkon/Ada/ada-doc/LRM95/rm > 95html/rm9x-13-11.html (from an uknown site, AdaIC server > seems down today) .. It can be useful when you want to preallocate a maximum amount of allocatable memory to a class of (by usage) objects. Emulator or simulators use this for safety. This avoids an errant emulation from allocating all of user memory and trashing the emulator's own environment by thrashing/swapping all available user memory. Another useful application is permitting objects of a particular class (of use) to be allocated from a pool. Then at a clearly defined point in the code, _all_ of those objects can be efficiently released by freeing the entire pool. No list traversal (or list maintenance) is required. Warren