comp.lang.ada
 help / color / mirror / Atom feed
From: Brad Moore <brad.moore@shaw.ca>
Subject: ANN: Storage pool for Ada 2005 with bindings to Apache Runtime Pools library
Date: Thu, 24 Mar 2011 08:00:04 -0600
Date: 2011-03-24T08:00:04-06:00	[thread overview]
Message-ID: <D7Iip.550$%f5.84@newsfe08.iad> (raw)

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



             reply	other threads:[~2011-03-24 14:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-24 14:00 Brad Moore [this message]
2011-03-24 15:54 ` ANN: Storage pool for Ada 2005 with bindings to Apache Runtime Pools library Shark8
2011-03-24 15:59 ` Brian Drummond
2011-03-24 21:25   ` Brad Moore
2011-03-25  5:25     ` Brad Moore
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox