![]()  | 
  
    Multi-ApplicationOnlineProfiling
    2.1
    
   | 
 
Hash Table implementation. More...
Modules | |
| Accessors | |
| Accessors functions (push, get, etc.)  | |
| Init/Release | |
| Initialization and release functions.  | |
| Internals | |
| Internal Hash_Table functions.  | |
| Walkers | |
| Functions that executes functions on elements.  | |
Data Structures | |
| struct | Hash_Table_Internal | 
| This is the structure used to store the clusters (items that have the same hash)  More... | |
| struct | Hash_Table | 
| This is the main hask table structure.  More... | |
Functions | |
| static void | Hash_Table_use_lock (struct Hash_Table *ht) | 
| Indicates that the hashtable must use a lock for operations (get/push)  More... | |
Hash Table implementation.
A hash table is an association table (key=>value) that uses a hash of key as index. If two keys have the same hash (clustering), the element is stored at the same index within a structure (chained list, table, etc.).
This Hash_Table is an implementation based on Chained List for clusters and CRC64 for hash.
The insertion of an element does the following :
The retreive of an element does the following :
In order to limit dynamic allocation (which takes time), this implementation stores the few first elements of a cluster within a static array (see Hash_Table::coll_avoid).
      
  | 
  inlinestatic | 
Indicates that the hashtable must use a lock for operations (get/push)
| ht | the hashtable where to indicate. | 
Definition at line 66 of file Hash_Table.h.
