Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.335.211 Times

libarena 0.3.4

  Date Added: March 19, 2010  |  Visits: 827

libarena

Report Broken Link
Printer Friendly Version


Product Homepage
Download (87 downloads)



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. Whats New in This Release: - The makefiles are no longer recursive, so this should build and install using either GNU Make or BSD pmake..

Requirements: No special requirements
Platforms: Linux
Keyword: Allocator Arena Interface Libarena Libraries Memory Pool Programming
Users rating: 0/10

License: Freeware Size: 20.48 KB
USER REVIEWS
More Reviews or Write Review


LIBARENA RELATED
Libraries  -  PDL::Slatec 2.4.3
PDL::Slatec is a PDL interface to the slatec numerical programming library. SYNOPSIS use PDL::Slatec; ($ndeg, $r, $ierr, $a) = polyfit($x, $y, $w, $maxdeg, $eps); This module serves the dual purpose of providing an interface to parts of...
2.1 MB  
Libraries  -  ShmFIFO library 1.0
ShmFIFO library provides an easy-to-use interface to shared memory for programs where one process needs to send blocks of data to other processes. It was developed because pipe(2) and mkfifo(3) have a very small buffer size (4k) and are...
12.29 KB  
Programming  -  devkitPro 1.5.7
This project is for homebrew console development tools based on the gnu compiler collection with additional tools and libraries to aid programming each supported console. The windows variants are built with MinGW.
444.26 KB  
Libraries  -  Z-Tree Z-MemoryPool Demo 1.0.0
Z-Tree Z-MemoryPool Demo is a simple application showing how to sort huge files of several GB with Z-Tree. ZTree ZMemoryPool Demo also demonstrates how to use Z-tree for key-value mapping. Z-Tree is a new data structure for sorting, key-value...
488.28 KB  
Libraries  -  Ham Radio Control Libraries 1.2.6.2
Ham Radio Control Libraries is a development effort to provide a consistent interface for programmers wanting to incorporate radio control in their programs. Hamlib is not a complete user application, rather, it is a software layer intended to...
1.4 MB  
Libraries  -  Open Geographic Datastore Interface 3.1.5
OGDI is the Open Geographic Datastore Interface. OGDI is an application programming interface (API) that uses a standardized access methods to work in conjunction with GIS software packages (the application) and various geospatial data products....
911.36 KB  
Libraries  -  Simple Sockets Library 7c
Simple Sockets Library provides a simple C programming interface to sockets. The Simple Sockets Library makes sockets easy to use and comes as public domain source code. It resembles Cs file I/O, uses whatever port is available, has named...
184.32 KB  
Libraries  -  FifoEmbed 2.1.1
FifoEmbed is a thread-safe basic queue, packet queue, and FIFO allocator. When programming device drivers, network stacks, and similar systems, you often need a queue and storage management. FifoEmbed provides three C abstract data types, all...
24.58 KB  
Utilities  -  Enveria IDE for Rapid Application Development 0.3
Enveria IDE for Rapid Application Development is an intuitive platform for programming robust GUI (graphical user interface) software. We have launched the Enveria RAD IDE as an open source application (https://sourceforge.net/projects/enveria)....
942.08 KB  
Utilities  -  Xwpe-ALPHA 1.5.30a
Xwpe is a programming environment with a user interface that mimics the Borland C and Pascal family of products. The user interface mimics the Borland C and Pascal family of products for MS-DOS. From within xwpe you can edit, compile, and debug...
225.28 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB