Skip to content

Concurrent hashtable library in C using open addressing techniques

Notifications You must be signed in to change notification settings

gibait/hashtable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Operating Systems Design assignment

A small library that implements hash table with synchronization mechanism. Uses Open Addressing techniques (Linear Probing), tombstones and pthread_rwlock_t locking utilities. Code is in lib folder. API are the following:

  • hash_insert(HashTable* ht, char* key, void* element)
  • hash_get(HashTable* ht, char* key)
  • hash_remove(HashTable* ht, char* key)

Testing

There are 2 scripts to test this library available (inside test). Both do count words of words.txt:

  • demo.c for single thread testing purposes
  • demo-thread.c for multi-thread purposes
  • demo.py for Python's dict comparison

Report

A report on the project and its performance is available (in italian)

About

Concurrent hashtable library in C using open addressing techniques

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published