123456789101112131415161718192021222324252627 |
- /*
- PROGRAM
- malloc(), free(), realloc()
- AUTHOR
- Dick Grune, Free University, Amsterdam
- Modified by Ceriel Jacobs, Free University, Amsterdam,
- to make it faster
- VERSION
- $Id$
- DESCRIPTION
- This is an independent rewrite of the malloc/free package; it is
- fast and efficient. Free blocks are kept in doubly linked lists,
- list N holding blocks with sizes between 2**N and 2**(N+1)-1.
- Consequently neither malloc nor free have to do any searching:
- the cost of a call of malloc() (or free()) is constant, however
- many blocks you have got.
-
- If you switch on the NON_STANDARD macro (see param.h) every block
- costs 2 pointers overhead (otherwise it's 4).
- */
- /*
- There is an organisational problem here: during devellopment
- I want the package divided into modules, which implies external
- names for the communication. The only external names I want in
- the finished product are malloc, realloc and free. This requires
- some hanky-panky.
- */
|