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.5 required=5.0 tests=BAYES_00,TO_NO_BRKTS_PCNT autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,7840ada5c7a0804,start X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news2.google.com!npeer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!post01.iad.highwinds-media.com!newsfe08.iad.POSTED!00000000!not-for-mail From: Brad Moore User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: ANN: Storage pool for Ada 2005 with bindings to Apache Runtime Pools library Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: NNTP-Posting-Host: 68.145.219.1 X-Complaints-To: internet.abuse@sjrb.ca X-Trace: newsfe08.iad 1300975203 68.145.219.1 (Thu, 24 Mar 2011 14:00:03 UTC) NNTP-Posting-Date: Thu, 24 Mar 2011 14:00:03 UTC Date: Thu, 24 Mar 2011 08:00:04 -0600 Xref: g2news2.google.com comp.lang.ada:19395 Date: 2011-03-24T08:00:04-06:00 List-Id: This is the initial release of a storage pool for Ada 2005 called Deepend, that binds to the Apache Runtime Pools library. Key features - Pool may deallocate all storage all at once, rather than having to perform Unchecked_Deallocation one object at a time. - No need to call Unchecked_Deallocation with this pool. It is essentially a NO-OP. - Provides Subpool capabilities, where a pool object may be a subpool of another pool object. The lifetime of the subpool object extends to the lifetime of the ultimate top-level pool object. Subpools may in turn also have subpools. - Fast storage management, should be more efficient than garbage collection strategies used in other languages. The latest stable release and older releases may be downloaded from; https://sourceforge.net/projects/deepend/files/ For those who want the current development versions of the source they can download using git (http://git-scm.com/) by issuing the following commands mkdir sandbox cd sandbox git clone git://deepend.git.sourceforge.net/gitroot/deepend/deepend The current development version typically will correspond to the latest stable release, but may at times be unstable when new features are being worked on. Low-level Bindings to the Apache Runtime Pools library were recently used for a submission to the Computer Language Benchmarks game, binary tree benchmark, and moved Ada into the number 2 spot behind C. On my machine, the Ada version actually runs 10% faster than the C version, but for some reason the benchmark has C ahead of Ada. It may be that the number of worker threads isn't tuned correctly for the benchmark hardware, or compiler version differences, or other differences related to the target platform. See http://shootout.alioth.debian.org/u64q/benchmark.php?test=binarytrees&lang=all Although the submission code does not use Deepend, the submission code has been reworked to use deepend to see if performance is impacted by using Ada's storage pool mechanism, and no noticeable performance impacts were found. Brad Moore