Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add stanford hash/swisstable as hashmap #18

Open
rurban opened this issue Feb 8, 2021 · 2 comments
Open

Add stanford hash/swisstable as hashmap #18

rurban opened this issue Feb 8, 2021 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@rurban
Copy link
Owner

rurban commented Feb 8, 2021

stanford is optimal for integers (i.e. literals divisible by 256),
greg7mdp/parallel-hashmap for strings and structs.

Converting swiss table or greg7mdp/parallel-hashmap from C++/SIMD might be too much work.
stanford_hash is similar and good enough for now.
EDIT: see LIMachi/swiss-table on github.

Try the o1hash from wyhash as default, but add security measures (collision counting or tree conversion, no sorted_vector yet)

@rurban rurban self-assigned this Feb 8, 2021
@rurban rurban added the enhancement New feature or request label Feb 8, 2021
@rurban rurban changed the title Add stanford hash as hashmap Add stanford hash/swisstable as hashmap Mar 23, 2021
@rurban
Copy link
Owner Author

rurban commented Mar 26, 2021

See the hmap branch

rurban added a commit that referenced this issue Mar 27, 2021
stanford hash for int keys <= 4byte.
swisstable for strings and the rest.
greg7mdp/parallel-hashmap for multithreaded later.

See GH #18
rurban added a commit that referenced this issue Mar 27, 2021
stanford hash for int keys <= 4byte.
swisstable for strings and the rest.
greg7mdp/parallel-hashmap for multithreaded later.

See GH #18
rurban added a commit that referenced this issue Apr 4, 2021
stanford hash for int keys <= 4byte.
swisstable for strings and the rest.
greg7mdp/parallel-hashmap for multithreaded later.

See GH #18
rurban added a commit that referenced this issue Apr 24, 2021
stanford hash for int keys <= 4byte.
swisstable for strings and the rest.
greg7mdp/parallel-hashmap for multithreaded later.

See GH #18
@rurban
Copy link
Owner Author

rurban commented Apr 24, 2021

Most of the work is needed for a proper/better map/umap API.
Either

  • go with pairs (a custom struct as strint.hh),
  • or seperate the key from the value: TK for key type, T for the value. And have seperate free,copy methods for both.

rurban added a commit that referenced this issue Jul 12, 2021
stanford hash for int keys <= 4byte.
swisstable for strings and the rest.
greg7mdp/parallel-hashmap for multithreaded later.

See GH #18
rurban added a commit that referenced this issue Oct 13, 2021
stanford hash for int keys <= 4byte.
swisstable for strings and the rest.
greg7mdp/parallel-hashmap for multithreaded later.

See GH #18
rurban added a commit that referenced this issue Mar 13, 2023
stanford hash for int keys <= 4byte.
swisstable for strings and the rest.
greg7mdp/parallel-hashmap for multithreaded later.

See GH #18
rurban added a commit that referenced this issue Apr 12, 2023
stanford hash for int keys <= 4byte.
swisstable for strings and the rest.
greg7mdp/parallel-hashmap for multithreaded later.

See GH #18
rurban added a commit that referenced this issue Jul 17, 2023
stanford hash for int keys <= 4byte.
swisstable for strings and the rest.
greg7mdp/parallel-hashmap for multithreaded later.

See GH #18
rurban added a commit that referenced this issue Feb 16, 2024
stanford hash for int keys <= 4byte.
swisstable for strings and the rest.
greg7mdp/parallel-hashmap for multithreaded later.

See GH #18
rurban added a commit that referenced this issue Feb 16, 2024
stanford hash for int keys <= 4byte.
swisstable for strings and the rest.
greg7mdp/parallel-hashmap for multithreaded later.

See GH #18
rurban added a commit that referenced this issue Feb 20, 2024
stanford hash for int keys <= 4byte.
swisstable for strings and the rest.
greg7mdp/parallel-hashmap for multithreaded later.

See GH #18
rurban added a commit that referenced this issue Feb 21, 2024
stanford hash for int keys <= 4byte.
swisstable for strings and the rest.
greg7mdp/parallel-hashmap for multithreaded later.

See GH #18
rurban added a commit that referenced this issue Feb 21, 2024
stanford hash for int keys <= 4byte.
swisstable for strings and the rest.
greg7mdp/parallel-hashmap for multithreaded later.

See GH #18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant