Skip to content

LIMachi/swiss-table

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

swiss-table

C adaptation of the swiss table (flat hash map) presented at CppCon by Google (https://www.youtube.com/watch?v=ncHmEUmJZf4).

This is NOT a complete implementation, it's a proof of concept and will stay that way until I think it's stable and compatible enough.

This first implementation will be using the 42 School's programmation norm (https://cdn.intra.42.fr/pdf/pdf/1065/norme.en.pdf).

Using the defines SWT_KEY_TYPE and SWT_VALUE_TYPE at compile time or by changing them in the headers, you can change the types used as key and value (default to void*).

If present, will use SSE2 instructions, otherwise will use simpler functions.

Implemented functions:

-insert

-find

-delete

-create

-destroy

-clear

-iterate

A basic hash function is provided for testing purpose using FNV-1a (https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function).

About

C adaptation of the swiss table (flat hash map) presented at CppCon by Google (https://www.youtube.com/watch?v=ncHmEUmJZf4).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors