libarena 0.3.4
Sponsored Links
libarena 0.3.4 Ranking & Summary
File size:
0.020 MB
Platform:
Any Platform
License:
MIT/X Consortium License
Price:
Downloads:
872
Date added:
2007-06-06
Publisher:
William Ahern
libarena 0.3.4 description
libarena library is a custom memory allocator interface and implementation. Three allocators are provided: flat "LIFO" arena allocator, object pool allocator and a malloc(3) wrapper. These can be used directly, or through their exported prototype interfaces.
libarena is meant to provide a baseline interface so allocators can be stacked, and to provide a well defined interface for libraries and applications. It is not meant to restrict or confine what custom allocators can actually accomplish. For instance, the included pool and arena allocators include a suite of string utilities which arent available in the generic exportable interface. However, they are built upon the generic interface (see util.h).
Almost no malloc(3) library "replacements" support a context pointer argument. Theyre useless for many or most of the tasks where the ability to specify an alternate malloc(3) could actually be useful, e.g. one shot dealloction of a task structure and all associated allocations. For network daemons especially this feature is useful; all allocations for a particular session can be freed simply by closing the lowest-level allocator object.
The arena allocator behaves similarly to GNU obstacks. If allocations are freed in reverse order than the underlying buffers will be freed accordingly; out-of-order deallocations will lead to fragmentation. The arena allocator also supports position marking. The state at any given instance can be stored and the allocator later reset to that state. All allocations which occured after, in time, the saved state will behave as-if they were explicitly deallocated.
The pool allocator keeps a pool of sets of fixed sized buffers. Each buffer size can be arbitrary. Allocations which cannot be met from the existing buckets will result in the creation of a new bucket. Memory returned to the pool will be reused. Currently the pool will never shrink, only grow.
Upon closing of the arena or pool allocator objects all memory used will be released back to their underlying allocator (either the one passed on instantiation, or by default `ARENA_STDLIB, the standard library wrapper.
Enhancements:
- The makefiles are no longer recursive, so this should build and install using either GNU Make or BSD pmake.
libarena is meant to provide a baseline interface so allocators can be stacked, and to provide a well defined interface for libraries and applications. It is not meant to restrict or confine what custom allocators can actually accomplish. For instance, the included pool and arena allocators include a suite of string utilities which arent available in the generic exportable interface. However, they are built upon the generic interface (see util.h).
Almost no malloc(3) library "replacements" support a context pointer argument. Theyre useless for many or most of the tasks where the ability to specify an alternate malloc(3) could actually be useful, e.g. one shot dealloction of a task structure and all associated allocations. For network daemons especially this feature is useful; all allocations for a particular session can be freed simply by closing the lowest-level allocator object.
The arena allocator behaves similarly to GNU obstacks. If allocations are freed in reverse order than the underlying buffers will be freed accordingly; out-of-order deallocations will lead to fragmentation. The arena allocator also supports position marking. The state at any given instance can be stored and the allocator later reset to that state. All allocations which occured after, in time, the saved state will behave as-if they were explicitly deallocated.
The pool allocator keeps a pool of sets of fixed sized buffers. Each buffer size can be arbitrary. Allocations which cannot be met from the existing buckets will result in the creation of a new bucket. Memory returned to the pool will be reused. Currently the pool will never shrink, only grow.
Upon closing of the arena or pool allocator objects all memory used will be released back to their underlying allocator (either the one passed on instantiation, or by default `ARENA_STDLIB, the standard library wrapper.
Enhancements:
- The makefiles are no longer recursive, so this should build and install using either GNU Make or BSD pmake.
libarena 0.3.4 Screenshot
libarena 0.3.4 Keywords
can be
memory allocator
allocator
libarena
interface
pool
memory
arena
libarena 0.3.4
Libraries
Programming
Bookmark libarena 0.3.4
libarena 0.3.4 Copyright
WareSeeker periodically updates pricing and software information of libarena 0.3.4 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of libarena 0.3.4 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
interface fabrics
sgi libarena
wow interface
asset allocator
interface security
allocator c++
interfacelift
interface carpet tile
graphical user interface
resource allocator
interface band
what is elmscan 5 usb interface
electric allocator
cache memory allocator out of available memory
interface solutions
network interface card
interface carpet
interface not registered
Related Software
libyama is a malloc implementation that bundles leak tracking by auditing allocations. Free Download
Laffer is a Web-based instant messenger client. Free Download
BOTEC is a simple astrophysical and orbital mechanics calculator, including a database of all named Solar System objects. Free Download
sl is a memory-efficient generic linked list library. Free Download
GKrellKam is an image viewer plugin for GKrellM. Free Download
KLinPopup is a small program to send and receive winpopup messages via samba like Free Download
GParted stands for Gnome Partition Editor. Free Download
Gzilla is a web browser written in the Gtk+ framework. Free Download
Latest Software
Popular Software
Favourite Software