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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,3c938966fc62f4f6,start X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!news.glorb.com!news-in.ntli.net!newsrout1-win.ntli.net!ntli.net!newspeer1-win.ntli.net!newsfe1-gui.ntli.net.POSTED!53ab2750!not-for-mail From: "Dr. Adrian Wrigley" Subject: Re: When to stop reading and start programming? User-Agent: Pan/0.14.2 (This is not a psychotic episode. It's a cleansing moment of clarity.) Message-Id: Newsgroups: comp.lang.ada References: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Date: Wed, 26 Oct 2005 12:26:11 GMT NNTP-Posting-Host: 80.4.127.115 X-Complaints-To: http://www.ntlworld.com/netreport X-Trace: newsfe1-gui.ntli.net 1130329571 80.4.127.115 (Wed, 26 Oct 2005 13:26:11 BST) NNTP-Posting-Date: Wed, 26 Oct 2005 13:26:11 BST Organization: ntl Cablemodem News Service Xref: g2news1.google.com comp.lang.ada:5955 Date: 2005-10-26T12:26:11+00:00 List-Id: On Fri, 28 Oct 2005 08:49:52 -0400, Freejack wrote: > Recently I've begun a foray into the art of Region Based memory > management. Specifically with the intent of creating a working > library for Ada development. Naturally it's a good idea to look into what > others have done before me. > There are a bunch of academic papers on this. Mostly centered around ML > Kit or Prolog systems. > It's become abundantly clear that Ada provides more than enough Type > information to make this work. > > However, how many academic papers should one wade through before actually > getting started on the code? Heh. Should I wait for my eyes to start > bugging out of my head? > > Any tips from the more experienced among us? Don't try to write a memory allocator in isolation, trying to be all things to all users! (unless you are an academic...) Work on useful application code, and you will know when the available allocation methods fail to meet your needs. Then see if you can get a ready-made allocator for the project from somwehere else (eg bind to 'halloc'). When you understand that you have unmet needs, make something simple and efficient to meet them! Then consider how it can benefit others. My application had a simple memory lifetime model, and much memory use was in a single layer. A region-based allocator was the obvious choice for memory/time efficiency and robustness. Having said that, I think there is a real need for a memory management library, which provides the features I mentioned in the other thread (Memory Mapped Storage Pools). (persistance, regions, high capacity etc.) I don't think I have any special expertise in this area, but I would review ideas for package specs, if you like! (just remove the .uk.uk from my email address) Have fun! -- Adrian